Skip to content

Commit dd09115

Browse files
authored
Merge pull request #14 from rtekal/rtekal-pl-join-ui-ERModelRelation
Rtekal pl join UI er model relation
2 parents 07c6a18 + 2369e07 commit dd09115

File tree

2,694 files changed

+146784
-95411
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,694 files changed

+146784
-95411
lines changed
+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: 'Identify CI Optimizations'
2+
description: 'Determine if code changes are specific to certain modules.'
3+
4+
outputs:
5+
frontend-only:
6+
description: "Frontend only change"
7+
value: ${{ steps.filter.outputs.frontend == 'true' && steps.filter.outputs.ingestion == 'false' && steps.filter.outputs.backend == 'false' }}
8+
ingestion-only:
9+
description: "Ingestion only change"
10+
value: ${{ steps.filter.outputs.frontend == 'false' && steps.filter.outputs.ingestion == 'true' && steps.filter.outputs.backend == 'false' }}
11+
backend-only:
12+
description: "Backend only change"
13+
value: ${{ steps.filter.outputs.frontend == 'false' && steps.filter.outputs.ingestion == 'false' && steps.filter.outputs.backend == 'true' }}
14+
backend-change:
15+
description: "Backend code has changed"
16+
value: ${{ steps.filter.outputs.backend == 'true' }}
17+
ingestion-change:
18+
description: "Ingestion code has changed"
19+
value: ${{ steps.filter.outputs.ingestion == 'true' }}
20+
frontend-change:
21+
description: "Frontend code has changed"
22+
value: ${{ steps.filter.outputs.frontend == 'true' }}
23+
docker-change:
24+
description: "Docker code has changed"
25+
value: ${{ steps.filter.outputs.docker == 'true' }}
26+
kafka-setup-change:
27+
description: "Kafka setup docker change"
28+
value: ${{ steps.filter.outputs.kafka-setup == 'true' }}
29+
mysql-setup-change:
30+
description: "Mysql setup docker change"
31+
value: ${{ steps.filter.outputs.mysql-setup == 'true' }}
32+
postgres-setup-change:
33+
description: "Postgres setup docker change"
34+
value: ${{ steps.filter.outputs.postgres-setup == 'true' }}
35+
elasticsearch-setup-change:
36+
description: "Elasticsearch setup docker change"
37+
value: ${{ steps.filter.outputs.elasticsearch-setup == 'true' }}
38+
runs:
39+
using: "composite"
40+
steps:
41+
- uses: dorny/paths-filter@v2
42+
id: filter
43+
with:
44+
filters: |
45+
frontend:
46+
- "datahub-frontend/**"
47+
- "datahub-web-react/**"
48+
- "smoke-test/tests/cypress/**"
49+
- "docker/datahub-frontend/**"
50+
ingestion:
51+
- "metadata-ingestion-modules/**"
52+
- "metadata-ingestion/**"
53+
- "metadata-models/**"
54+
- "smoke-test/**"
55+
- "docker/datahub-ingestion-**"
56+
docker:
57+
- "docker/**"
58+
backend:
59+
- "metadata-models/**"
60+
- "datahub-upgrade/**"
61+
- "entity-registry/**"
62+
- "li-utils/**"
63+
- "metadata-auth/**"
64+
- "metadata-dao-impl/**"
65+
- "metadata-events/**"
66+
- "metadata-io/**"
67+
- "metadata-jobs/**"
68+
- "metadata-service/**"
69+
- "metadata-utils/**"
70+
- "smoke-test/**"
71+
- "docker/**"
72+
kafka-setup:
73+
- "docker/kafka-setup/**"
74+
mysql-setup:
75+
- "docker/mysql-setup/**"
76+
postgres-setup:
77+
- "docker/postgres-setup/**"
78+
elasticsearch-setup:
79+
- "docker/elasticsearch-setup/**"

.github/workflows/airflow-plugin.yml

+14-3
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,33 @@ jobs:
3232
strategy:
3333
matrix:
3434
include:
35+
# Note: this should be kept in sync with tox.ini.
3536
- python-version: "3.8"
3637
extra_pip_requirements: "apache-airflow~=2.1.4"
3738
extra_pip_extras: plugin-v1
3839
- python-version: "3.8"
3940
extra_pip_requirements: "apache-airflow~=2.2.4"
4041
extra_pip_extras: plugin-v1
4142
- python-version: "3.10"
42-
extra_pip_requirements: "apache-airflow~=2.4.0"
43+
extra_pip_requirements: 'apache-airflow~=2.4.0 pluggy==1.0.0 "pendulum<3.0" "Flask-Session<0.6.0"'
4344
extra_pip_extras: plugin-v2
4445
- python-version: "3.10"
45-
extra_pip_requirements: "apache-airflow~=2.6.0"
46+
extra_pip_requirements: 'apache-airflow~=2.6.0 "pendulum<3.0" "Flask-Session<0.6.0"'
4647
extra_pip_extras: plugin-v2
4748
- python-version: "3.10"
48-
extra_pip_requirements: "apache-airflow>=2.7.0"
49+
extra_pip_requirements: 'apache-airflow~=2.7.0 pydantic==2.4.2 "Flask-Session<0.6.0"'
50+
extra_pip_extras: plugin-v2
51+
- python-version: "3.10"
52+
extra_pip_requirements: 'apache-airflow>=2.8.0 pydantic>=2.4.2 "Flask-Session<0.6.0"'
4953
extra_pip_extras: plugin-v2
5054
fail-fast: false
5155
steps:
56+
- name: Set up JDK 17
57+
uses: actions/setup-java@v3
58+
with:
59+
distribution: "zulu"
60+
java-version: 17
61+
- uses: gradle/gradle-build-action@v2
5262
- uses: actions/checkout@v3
5363
- uses: actions/setup-python@v4
5464
with:
@@ -69,6 +79,7 @@ jobs:
6979
**/build/reports/tests/test/**
7080
**/build/test-results/test/**
7181
**/junit.*.xml
82+
!**/binary/**
7283
- name: Upload coverage to Codecov
7384
if: always()
7485
uses: codecov/codecov-action@v3

.github/workflows/build-and-test.yml

+40-21
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,25 @@ concurrency:
2020
cancel-in-progress: true
2121

2222
jobs:
23+
setup:
24+
runs-on: ubuntu-latest
25+
outputs:
26+
frontend_change: ${{ steps.ci-optimize.outputs.frontend-change == 'true' }}
27+
ingestion_change: ${{ steps.ci-optimize.outputs.ingestion-change == 'true' }}
28+
backend_change: ${{ steps.ci-optimize.outputs.backend-change == 'true' }}
29+
docker_change: ${{ steps.ci-optimize.outputs.docker-change == 'true' }}
30+
frontend_only: ${{ steps.ci-optimize.outputs.frontend-only == 'true' }}
31+
ingestion_only: ${{ steps.ci-optimize.outputs.ingestion-only == 'true' }}
32+
kafka_setup_change: ${{ steps.ci-optimize.outputs.kafka-setup-change == 'true' }}
33+
mysql_setup_change: ${{ steps.ci-optimize.outputs.mysql-setup-change == 'true' }}
34+
postgres_setup_change: ${{ steps.ci-optimize.outputs.postgres-setup-change == 'true' }}
35+
elasticsearch_setup_change: ${{ steps.ci-optimize.outputs.elasticsearch-setup-change == 'true' }}
36+
steps:
37+
- name: Check out the repo
38+
uses: hsheth2/sane-checkout-action@v1
39+
- uses: ./.github/actions/ci-optimization
40+
id: ci-optimize
41+
2342
build:
2443
strategy:
2544
fail-fast: false
@@ -29,30 +48,37 @@ jobs:
2948
"except_metadata_ingestion",
3049
"frontend",
3150
]
32-
timezone: ["UTC", "America/New_York"]
51+
timezone: ["UTC"]
52+
include:
53+
# We only need the timezone variation for frontend tests.
54+
- command: "frontend"
55+
timezone: "America/New_York"
3356
runs-on: ubuntu-latest
3457
timeout-minutes: 60
58+
needs: setup
3559
steps:
36-
- uses: szenius/set-timezone@v1.0
60+
- uses: szenius/set-timezone@v1.2
3761
with:
3862
timezoneLinux: ${{ matrix.timezone }}
39-
- uses: hsheth2/sane-checkout-action@v1
40-
- name: Set up JDK 11
63+
- name: Check out the repo
64+
uses: hsheth2/sane-checkout-action@v1
65+
- name: Set up JDK 17
4166
uses: actions/setup-java@v3
4267
with:
4368
distribution: "zulu"
44-
java-version: 11
69+
java-version: 17
70+
- uses: gradle/gradle-build-action@v2
4571
- uses: actions/setup-python@v4
72+
if: ${{ needs.setup.outputs.ingestion_change == 'true' }}
4673
with:
4774
python-version: "3.10"
4875
cache: pip
49-
- name: Gradle build (and test) for metadata ingestion
50-
# we only need the timezone runs for frontend tests
51-
if: ${{ matrix.command == 'except_metadata_ingestion' && matrix.timezone == 'America/New_York' }}
76+
- name: Gradle build (and test) for NOT metadata ingestion
77+
if: ${{ matrix.command == 'except_metadata_ingestion' && needs.setup.outputs.backend_change == 'true' }}
5278
run: |
5379
./gradlew build -x :metadata-ingestion:build -x :metadata-ingestion:check -x docs-website:build -x :metadata-integration:java:spark-lineage:test -x :metadata-io:test -x :metadata-ingestion-modules:airflow-plugin:build -x :metadata-ingestion-modules:airflow-plugin:check -x :datahub-frontend:build -x :datahub-web-react:build --parallel
5480
- name: Gradle build (and test) for frontend
55-
if: ${{ matrix.command == 'frontend' }}
81+
if: ${{ matrix.command == 'frontend' && needs.setup.outputs.frontend_change == 'true' }}
5682
run: |
5783
./gradlew :datahub-frontend:build :datahub-web-react:build --parallel
5884
env:
@@ -65,27 +91,20 @@ jobs:
6591
**/build/reports/tests/test/**
6692
**/build/test-results/test/**
6793
**/junit.*.xml
94+
!**/binary/**
6895
- name: Ensure codegen is updated
6996
uses: ./.github/actions/ensure-codegen-updated
70-
- name: Slack failure notification
71-
if: failure() && github.event_name == 'push'
72-
uses: kpritam/slack-job-status-action@v1
73-
with:
74-
job-status: ${{ job.status }}
75-
slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }}
76-
channel: github-activities
7797

7898
quickstart-compose-validation:
7999
runs-on: ubuntu-latest
100+
needs: setup
101+
if: ${{ needs.setup.outputs.docker_change == 'true' }}
80102
steps:
81-
- uses: actions/checkout@v3
103+
- name: Check out the repo
104+
uses: hsheth2/sane-checkout-action@v1
82105
- uses: actions/setup-python@v4
83106
with:
84107
python-version: "3.10"
85-
- name: Download YQ
86-
uses: chrisdickinson/[email protected]
87-
with:
88-
yq-version: v4.28.2
89108
- name: Quickstart Compose Validation
90109
run: ./docker/quickstart/generate_and_compare.sh
91110

.github/workflows/check-datahub-jars.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ jobs:
2828
runs-on: ubuntu-latest
2929
steps:
3030
- uses: hsheth2/sane-checkout-action@v1
31-
- name: Set up JDK 11
31+
- name: Set up JDK 17
3232
uses: actions/setup-java@v3
3333
with:
3434
distribution: "zulu"
35-
java-version: 11
35+
java-version: 17
36+
- uses: gradle/gradle-build-action@v2
3637
- uses: actions/setup-python@v4
3738
with:
3839
python-version: "3.10"

0 commit comments

Comments
 (0)