-
Notifications
You must be signed in to change notification settings - Fork 1.9k
RDF, cleanup relations and remove unnecessary bindings, add distributed mode for RDF reindex #26902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 28 commits
b0fa59c
5d9a6a9
b0aef60
7d46a65
156f039
4a1e083
e0f35aa
1f22b97
e259ec0
fabade4
ec70141
2841a12
88672fc
8448869
31b761d
e29eea2
cfc7769
bed18d9
706a3fc
5273179
1062f0c
1452a2f
fb1efe5
6c2a1e1
7dd2925
30b8d0b
49cca4c
8a5de75
0f91604
3664b0e
0e4df9c
33abb30
1f32af1
dcd2b4c
8ff7aae
82c6a23
b73e7f5
8814747
5b89ec2
cfacda1
d84a8d7
e3f0f5d
3037499
835debc
54c177f
4d4b807
7a34b67
22cb1bc
ae5bf8f
b3c792e
986101c
c69ac4f
1a94234
2432c3a
4bddb71
6ab8c15
7375993
aee1f34
c3c4255
a092978
c855b49
e984879
38d8ccf
df8374c
fb4406b
8c97479
f6123c4
2058a5f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,219 @@ | ||
| # Copyright 2021 Collate | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| name: Postgresql PR Knowledge Graph E2E Tests | ||
| on: | ||
| workflow_dispatch: | ||
| pull_request_target: | ||
| types: | ||
| - labeled | ||
| - opened | ||
| - synchronize | ||
| - reopened | ||
| - ready_for_review | ||
| paths: | ||
| - ".github/actions/setup-openmetadata-test-environment/action.yml" | ||
| - ".github/workflows/playwright-knowledge-graph-postgresql-e2e.yml" | ||
| - "docker/run_local_docker.sh" | ||
| - "docker/run_local_docker_rdf.sh" | ||
| - "docker/development/docker-compose-fuseki.yml" | ||
| - "docker/development/docker-compose-postgres-fuseki.yml" | ||
| - "docs/rdf-local-development.md" | ||
| - "openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/rdf/**" | ||
| - "openmetadata-service/src/main/java/org/openmetadata/service/rdf/**" | ||
| - "openmetadata-service/src/main/java/org/openmetadata/service/resources/rdf/**" | ||
| - "openmetadata-service/src/test/java/org/openmetadata/service/apps/bundles/rdf/**" | ||
| - "openmetadata-service/src/test/java/org/openmetadata/service/rdf/**" | ||
| - "openmetadata-service/src/test/java/org/openmetadata/service/resources/rdf/**" | ||
| - "openmetadata-spec/src/main/resources/rdf/**" | ||
| - "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/KnowledgeGraph.spec.ts" | ||
| - "openmetadata-ui/src/main/resources/ui/playwright.config.ts" | ||
| - "openmetadata-ui/src/main/resources/ui/src/components/KnowledgeGraph/**" | ||
| - "openmetadata-ui/src/main/resources/ui/src/components/OntologyExplorer/**" | ||
| - "openmetadata-ui/src/main/resources/ui/src/rest/rdfAPI.ts" | ||
| - "openmetadata-ui/src/main/resources/ui/src/types/knowledgeGraph.types.ts" | ||
| - "openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx" | ||
|
|
||
| permissions: | ||
| contents: read | ||
| pull-requests: write | ||
|
|
||
| concurrency: | ||
| group: playwright-knowledge-graph-pr-postgresql-${{ github.event.pull_request.number || github.run_id }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| if: ${{ !github.event.pull_request.draft }} | ||
| steps: | ||
| - name: Wait for the labeler | ||
| uses: lewagon/wait-on-check-action@v1.3.4 | ||
| if: ${{ github.event_name == 'pull_request_target' }} | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
| check-name: Team Label | ||
| repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
| wait-interval: 90 | ||
|
|
||
| - name: Verify PR labels | ||
| uses: jesusvasquez333/verify-pr-label-action@v1.4.0 | ||
| if: ${{ github.event_name == 'pull_request_target' }} | ||
| with: | ||
| github-token: "${{ secrets.GITHUB_TOKEN }}" | ||
| valid-labels: "safe to test" | ||
| pull-request-number: "${{ github.event.pull_request.number }}" | ||
| disable-reviews: true | ||
|
|
||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
|
|
||
| - name: Setup JDK 21 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version: '21' | ||
| distribution: 'temurin' | ||
|
|
||
| - name: Cache Maven Dependencies | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.m2 | ||
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-maven- | ||
|
|
||
| - name: Install antlr cli | ||
| run: sudo make install_antlr_cli | ||
|
|
||
| - name: Build with Maven | ||
Check failureCode scanning / CodeQL Checkout of untrusted code in a privileged context Critical
Potential execution of untrusted code on a privileged workflow (
pull_request_target Error loading related location Loading |
||
| run: mvn -DskipTests clean package | ||
|
|
||
| - name: Upload Maven build artifact | ||
Check failureCode scanning / CodeQL Checkout of untrusted code in a privileged context Critical
Potential execution of untrusted code on a privileged workflow (
pull_request_target Error loading related location Loading |
||
|
github-advanced-security[bot] marked this conversation as resolved.
Fixed
|
||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: openmetadata-build | ||
| path: openmetadata-dist/target/openmetadata-*.tar.gz | ||
| retention-days: 1 | ||
|
|
||
| playwright-knowledge-graph-postgresql: | ||
| needs: [build] | ||
| runs-on: ubuntu-latest | ||
| if: ${{ !cancelled() && needs.build.result == 'success' }} | ||
| environment: test | ||
| steps: | ||
| - name: Free Disk Space (Ubuntu) | ||
| uses: jlumbroso/free-disk-space@main | ||
| with: | ||
| tool-cache: false | ||
| android: true | ||
| dotnet: true | ||
| haskell: true | ||
| large-packages: false | ||
| swap-storage: true | ||
| docker-images: false | ||
|
|
||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha }} | ||
|
|
||
| - name: Download Maven build artifact | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: openmetadata-build | ||
| path: openmetadata-dist/target | ||
|
|
||
| - name: Setup Openmetadata Test Environment | ||
| uses: ./.github/actions/setup-openmetadata-test-environment | ||
| with: | ||
| python-version: "3.10" | ||
| args: "-d postgresql -s true" | ||
| startup-script: "./docker/run_local_docker_rdf.sh" | ||
| ingestion_dependency: "all" | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version-file: "openmetadata-ui/src/main/resources/ui/.nvmrc" | ||
|
|
||
| - name: Install dependencies | ||
| working-directory: openmetadata-ui/src/main/resources/ui/ | ||
| run: yarn --ignore-scripts --frozen-lockfile | ||
Check failureCode scanning / CodeQL Artifact poisoning Critical
Potential artifact poisoning in
yarn --ignore-scripts --frozen-lockfile Error loading related location Loading workflow_dispatch Error loading related location Loading |
||
|
github-advanced-security[bot] marked this conversation as resolved.
Fixed
|
||
|
|
||
| - name: Install Playwright Browsers | ||
| run: npx playwright@1.57.0 install chromium --with-deps | ||
|
|
||
| - name: Run Knowledge Graph Playwright tests | ||
| working-directory: openmetadata-ui/src/main/resources/ui/ | ||
| run: npx playwright test --project="Knowledge Graph" | ||
| env: | ||
| PLAYWRIGHT_IS_OSS: true | ||
| PLAYWRIGHT_SNOWFLAKE_USERNAME: ${{ secrets.TEST_SNOWFLAKE_USERNAME }} | ||
| PLAYWRIGHT_SNOWFLAKE_PASSWORD: ${{ secrets.TEST_SNOWFLAKE_PASSWORD }} | ||
| PLAYWRIGHT_SNOWFLAKE_ACCOUNT: ${{ secrets.TEST_SNOWFLAKE_ACCOUNT }} | ||
| PLAYWRIGHT_SNOWFLAKE_DATABASE: ${{ secrets.TEST_SNOWFLAKE_DATABASE }} | ||
| PLAYWRIGHT_SNOWFLAKE_WAREHOUSE: ${{ secrets.TEST_SNOWFLAKE_WAREHOUSE }} | ||
| PLAYWRIGHT_SNOWFLAKE_PASSPHRASE: ${{ secrets.TEST_SNOWFLAKE_PASSPHRASE }} | ||
| PLAYWRIGHT_BQ_PRIVATE_KEY: ${{ secrets.TEST_BQ_PRIVATE_KEY }} | ||
| PLAYWRIGHT_BQ_PROJECT_ID: ${{ secrets.PLAYWRIGHT_BQ_PROJECT_ID }} | ||
| PLAYWRIGHT_BQ_PRIVATE_KEY_ID: ${{ secrets.TEST_BQ_PRIVATE_KEY_ID }} | ||
| PLAYWRIGHT_BQ_PROJECT_ID_TAXONOMY: ${{ secrets.TEST_BQ_PROJECT_ID_TAXONOMY }} | ||
| PLAYWRIGHT_BQ_CLIENT_EMAIL: ${{ secrets.TEST_BQ_CLIENT_EMAIL }} | ||
| PLAYWRIGHT_BQ_CLIENT_ID: ${{ secrets.TEST_BQ_CLIENT_ID }} | ||
| PLAYWRIGHT_REDSHIFT_HOST: ${{ secrets.E2E_REDSHIFT_HOST_PORT }} | ||
| PLAYWRIGHT_REDSHIFT_USERNAME: ${{ secrets.E2E_REDSHIFT_USERNAME }} | ||
| PLAYWRIGHT_REDSHIFT_PASSWORD: ${{ secrets.E2E_REDSHIFT_PASSWORD }} | ||
| PLAYWRIGHT_REDSHIFT_DATABASE: ${{ secrets.TEST_REDSHIFT_DATABASE }} | ||
| PLAYWRIGHT_METABASE_USERNAME: ${{ secrets.TEST_METABASE_USERNAME }} | ||
| PLAYWRIGHT_METABASE_PASSWORD: ${{ secrets.TEST_METABASE_PASSWORD }} | ||
| PLAYWRIGHT_METABASE_DB_SERVICE_NAME: ${{ secrets.TEST_METABASE_DB_SERVICE_NAME }} | ||
| PLAYWRIGHT_METABASE_HOST_PORT: ${{ secrets.TEST_METABASE_HOST_PORT }} | ||
| PLAYWRIGHT_SUPERSET_USERNAME: ${{ secrets.TEST_SUPERSET_USERNAME }} | ||
| PLAYWRIGHT_SUPERSET_PASSWORD: ${{ secrets.TEST_SUPERSET_PASSWORD }} | ||
| PLAYWRIGHT_SUPERSET_HOST_PORT: ${{ secrets.TEST_SUPERSET_HOST_PORT }} | ||
| PLAYWRIGHT_KAFKA_BOOTSTRAP_SERVERS: ${{ secrets.TEST_KAFKA_BOOTSTRAP_SERVERS }} | ||
| PLAYWRIGHT_KAFKA_SCHEMA_REGISTRY_URL: ${{ secrets.TEST_KAFKA_SCHEMA_REGISTRY_URL }} | ||
| PLAYWRIGHT_GLUE_ACCESS_KEY: ${{ secrets.TEST_GLUE_ACCESS_KEY }} | ||
| PLAYWRIGHT_GLUE_SECRET_KEY: ${{ secrets.TEST_GLUE_SECRET_KEY }} | ||
| PLAYWRIGHT_GLUE_AWS_REGION: ${{ secrets.TEST_GLUE_AWS_REGION }} | ||
| PLAYWRIGHT_GLUE_ENDPOINT: ${{ secrets.TEST_GLUE_ENDPOINT }} | ||
| PLAYWRIGHT_GLUE_STORAGE_SERVICE: ${{ secrets.TEST_GLUE_STORAGE_SERVICE }} | ||
| PLAYWRIGHT_MYSQL_USERNAME: ${{ secrets.TEST_MYSQL_USERNAME }} | ||
| PLAYWRIGHT_MYSQL_PASSWORD: ${{ secrets.TEST_MYSQL_PASSWORD }} | ||
| PLAYWRIGHT_MYSQL_HOST_PORT: ${{ secrets.TEST_MYSQL_HOST_PORT }} | ||
| PLAYWRIGHT_MYSQL_DATABASE_SCHEMA: ${{ secrets.TEST_MYSQL_DATABASE_SCHEMA }} | ||
| PLAYWRIGHT_POSTGRES_USERNAME: ${{ secrets.TEST_POSTGRES_USERNAME }} | ||
| PLAYWRIGHT_POSTGRES_PASSWORD: ${{ secrets.TEST_POSTGRES_PASSWORD }} | ||
| PLAYWRIGHT_POSTGRES_HOST_PORT: ${{ secrets.TEST_POSTGRES_HOST_PORT }} | ||
| PLAYWRIGHT_POSTGRES_DATABASE: ${{ secrets.TEST_POSTGRES_DATABASE }} | ||
| PLAYWRIGHT_AIRFLOW_HOST_PORT: ${{ secrets.TEST_AIRFLOW_HOST_PORT }} | ||
| PLAYWRIGHT_ML_MODEL_TRACKING_URI: ${{ secrets.TEST_ML_MODEL_TRACKING_URI }} | ||
| PLAYWRIGHT_ML_MODEL_REGISTRY_URI: ${{ secrets.TEST_ML_MODEL_REGISTRY_URI }} | ||
| PLAYWRIGHT_S3_STORAGE_ACCESS_KEY_ID: ${{ secrets.TEST_S3_STORAGE_ACCESS_KEY_ID }} | ||
| PLAYWRIGHT_S3_STORAGE_SECRET_ACCESS_KEY: ${{ secrets.TEST_S3_STORAGE_SECRET_ACCESS_KEY }} | ||
| PLAYWRIGHT_S3_STORAGE_END_POINT_URL: ${{ secrets.TEST_S3_STORAGE_END_POINT_URL }} | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - uses: actions/upload-artifact@v4 | ||
| if: ${{ !cancelled() }} | ||
| with: | ||
| name: playwright-knowledge-graph-report | ||
| path: openmetadata-ui/src/main/resources/ui/playwright/output/playwright-report | ||
| retention-days: 5 | ||
|
|
||
| - name: Clean Up | ||
| if: always() | ||
| run: | | ||
| docker compose -f docker/development/docker-compose-postgres.yml down --remove-orphans || true | ||
| docker compose -f docker/development/docker-compose-fuseki.yml down --remove-orphans || true | ||
| sudo rm -rf ${PWD}/docker/development/docker-volume | ||
Uh oh!
There was an error while loading. Please reload this page.