-
Notifications
You must be signed in to change notification settings - Fork 3.5k
feat(quickstart): migrate to compose profile and other improv. #13566
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
Merged
Merged
Changes from all commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
7dc9462
build(quickstart): generate compose file using quickstart profile
chakru-r 21751af
add label for datahub-update
chakru-r 087cf55
move to profile based compose file, reduce options to simplify
chakru-r 1d37100
ci(quickstart): initial version of quickstart tests
chakru-r 607efc7
cli cleanup
chakru-r 889975a
ci fixes
chakru-r 159df91
compatiblity checks
chakru-r 126a58a
add quickstart compose stale check
chakru-r 7b8144d
better error message on invalid release
chakru-r 217aa7e
update min version
chakru-r 09857db
tests
chakru-r 0336b6d
doc updates
chakru-r 9334b14
test updates
chakru-r 5aa24a8
regression tests for already released versions
chakru-r 07b74d3
switch default version to last released version
chakru-r de82638
test updates
chakru-r 502c24f
generate compose-profile config
chakru-r 7519e0d
run regression tests
chakru-r 4bec008
update quickstart compose file
chakru-r dd812f1
add TODO
chakru-r d627a3b
update upgrade message
chakru-r 6d4b04c
fix: make UI ingestion version match the CLI used for quickstart
chakru-r 57fdbc2
restore ci schedule tests for regessions
chakru-r 4bd4861
additional unit tests
chakru-r e482140
Keep generated quickstart-profile up-to-date with the compose file c…
chakru-r b640352
lintFix
chakru-r 2dc1a50
Merge branch 'master' into cr-oss-quickstart
chakru-r File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,163 @@ | ||
| name: Quickstart Test | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: "2 0 * * *" | ||
| push: | ||
| branches: | ||
| - master | ||
| paths: | ||
| - "metadata-ingestion/src/datahub/cli/docker_cli.py" | ||
| - "metadata-ingestion/src/datahub/cli/docker_check.py" | ||
| - "metadata-ingestion/src/datahub/cli/quickstart_versioning.py" | ||
| - ".github/workflows/quickstart-test.yml" | ||
| - "docker/quickstart/docker-compose.quickstart-profile.yml" | ||
| pull_request: | ||
| paths: | ||
| - "metadata-ingestion/src/datahub/cli/docker_cli.py" | ||
| - "metadata-ingestion/src/datahub/cli/docker_check.py" | ||
| - "metadata-ingestion/src/datahub/cli/quickstart_versioning.py" | ||
| - ".github/workflows/quickstart-test.yml" | ||
| - "docker/quickstart/docker-compose.quickstart-profile.yml" | ||
|
|
||
| jobs: | ||
| test-quickstart-pr: | ||
| name: Quickstart Smoke Tests | ||
| if: ${{ github.event_name == 'pull_request' }} | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| ./gradlew :metadata-ingestion:install | ||
|
|
||
| - name: Run quickstart | ||
| run: | | ||
| source metadata-ingestion/venv/bin/activate | ||
| # Use compose and version mapping files from PR | ||
| export FORCE_LOCAL_QUICKSTART_MAPPING=docker/quickstart/quickstart_version_mapping.yaml | ||
| datahub docker quickstart -f docker/quickstart/docker-compose.quickstart-profile.yml | ||
| docker images | ||
|
|
||
| - name: Run quickstart check | ||
| run: | | ||
| source metadata-ingestion/venv/bin/activate | ||
| datahub docker check | ||
|
|
||
| - name: Smoke test | ||
| if: false | ||
| env: | ||
| RUN_QUICKSTART: false | ||
| DATAHUB_VERSION: head | ||
| CLEANUP_DATA: "false" | ||
| TEST_STRATEGY: cypress | ||
| BATCH_COUNT: 30 | ||
| BATCH_NUMBER: 2 | ||
| run: | | ||
| echo "$DATAHUB_VERSION" | ||
| ./gradlew --stop | ||
| ./smoke-test/smoke.sh | ||
|
|
||
| - name: Run quickstart check | ||
| run: | | ||
| source metadata-ingestion/venv/bin/activate | ||
| datahub docker check | ||
|
|
||
| test-quickstart-pr-compatiblity-checks: | ||
| name: Quickstart compatiliby Tests | ||
| if: ${{ github.event_name == 'pull_request' }} | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
| - name: install older datahub cli | ||
| run: | | ||
| pip install acryl-datahub==1.0 | ||
|
|
||
| - name: bring up datahub using old cli | ||
| run: | | ||
| datahub docker quickstart | ||
| datahub docker check | ||
| datahub docker ingest-sample-data | ||
| datahub docker check | ||
|
|
||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| ./gradlew :metadata-ingestion:install | ||
|
|
||
| - name: Run quickstart | ||
| run: | | ||
| source metadata-ingestion/venv/bin/activate | ||
|
|
||
| # Use compose and version mapping files from PR | ||
| export FORCE_LOCAL_QUICKSTART_MAPPING=docker/quickstart/quickstart_version_mapping.yaml | ||
| if datahub docker quickstart -f docker/quickstart/docker-compose.quickstart-profile.yml; then | ||
| echo "Command succeeded when it should have failed" | ||
| exit 1 | ||
| else | ||
| echo "Command failed as expected" | ||
| fi | ||
|
|
||
| - name: Backup, nuke and restart and restore | ||
| run: | | ||
| source metadata-ingestion/venv/bin/activate | ||
| echo "Running backup" | ||
| datahub docker quickstart --backup | ||
| echo "Running nuke" | ||
| datahub docker nuke | ||
| # Use compose and version mapping files from PR | ||
| export FORCE_LOCAL_QUICKSTART_MAPPING=docker/quickstart/quickstart_version_mapping.yaml | ||
| echo "Running quickstart" | ||
| datahub docker quickstart -f docker/quickstart/docker-compose.quickstart-profile.yml | ||
| echo "Running restore" | ||
| echo "y" | datahub docker quickstart --restore | ||
| datahub docker check | ||
|
|
||
| test-quickstart-regression: | ||
| name: Quickstart regression tests | ||
| if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| matrix: | ||
| # TODO: once more supported versions are aded, this should become list last n versions | ||
| datahub_version: ["v1.0.0", "v1.1.0", "head"] | ||
| fail-fast: false | ||
| steps: | ||
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.10" | ||
| - name: install datahub cli | ||
| run: | | ||
| pip install acryl-datahub | ||
|
|
||
| - name: bring up datahub using old cli | ||
| run: | | ||
| datahub docker quickstart --version ${{ matrix.datahub_version }} | ||
| datahub docker check | ||
| datahub docker ingest-sample-data | ||
| datahub docker check | ||
|
|
||
| - name: Backup, nuke and restart and restore | ||
| run: | | ||
| echo "Running backup" | ||
| datahub docker quickstart --backup | ||
| echo "Running nuke" | ||
| datahub docker nuke | ||
| datahub docker quickstart | ||
| echo "Running restore" | ||
| echo "y" | datahub docker quickstart --restore | ||
| datahub docker check |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| name: Verify Quickstart Compose | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| branches: | ||
| - master | ||
| pull_request: | ||
| jobs: | ||
| verify-quickstart-compose-updated: | ||
| name: Verify quickstart compose file is up-to-date | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Generate quickstart compose file | ||
| run: | | ||
| ./gradlew :docker:generateQuickstartComposeConfig | ||
|
|
||
| - name: Verify generated file | ||
| # If there are build changes, then the generated file will be different from the one in the PR | ||
| run: | | ||
| git diff --exit-code docker/quickstart/docker-compose.quickstart-profile.yml | ||
|
|
||
| - name: Validation | ||
| if: failure() | ||
| run: | | ||
| echo "Build file changes are detected. Run\n ./gradlew :docker:generateQuickstartComposeConfig \n and commit the generated docker/quickstart/docker-compose.quickstart-profile.yml file" | ||
| exit 1 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📝 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2028:info:1:6: echo may not expand escape sequences. Use printf [shellcheck]