-
Notifications
You must be signed in to change notification settings - Fork 456
Update github workflow setup #2728
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 all commits
5c1212c
41a0514
9095cf0
2851f10
3e62cf9
20481a2
7f4c04e
34d09bf
06b3be0
5a2a47f
2c53ada
85b9880
0e6068c
ca30439
2e31b94
1710687
3c565ea
b01cb5b
7b7a1bb
dd0208c
cfcf305
a886b05
e38d026
ca0cbe3
da180ff
c3eba4b
5c12021
4454cf0
0d0e2f2
9ab6fe4
f5bb8e9
424635f
f8b9c28
01d2625
9cbbd0b
65aa27c
190544e
6c03fd1
2b40e7d
afd246f
8abaa17
83978ba
a17cb8f
794b0a0
6056ad5
ad75252
f21c342
2d26e45
7e1c04d
653ed64
3364064
89992cc
adf2b1a
1ca62f6
1149593
f0cffee
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,102 @@ | ||
| name: dlt | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: [ master, devel ] | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
|
|
||
| # checks wether anything outside docs has changed, if not, most of the tests can be skipped | ||
| # lint will check this and if lint is not run, no other tests will be run | ||
| get_docs_changes: | ||
| name: docs changes | ||
| uses: ./.github/workflows/get_docs_changes.yml | ||
|
|
||
| # if the PR is from a fork, we need to authorize the secrets access and remote destinations run with a lable | ||
| authorize_run_from_fork: | ||
| name: check if fork and if so wether secrets are available | ||
| # run when label is assigned OR when we are not a fork | ||
| if: ${{ github.event.label.name == 'ci from fork' || (github.event.pull_request.head.repo.full_name == github.repository && (github.event.action == 'opened' || github.event.action == 'synchronize'))}} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. now the we can enable PRs from forks in a separate ticket |
||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - run: true | ||
|
|
||
| lint: | ||
| name: lint on all python versions | ||
| needs: get_docs_changes | ||
| if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' | ||
| uses: ./.github/workflows/lint.yml | ||
|
|
||
| test_common: | ||
| name: run common tests on all python versions and OSes | ||
| needs: lint | ||
| uses: ./.github/workflows/test_common.yml | ||
|
|
||
| # | ||
| # Destination and Sources local tests, do not provide secrets | ||
| # Other tests that do not require remote connections | ||
| # | ||
| test_destinations_local: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. those run in parallel right?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, all tests that have their conditions met start immediately, so you have a bunch of tests running in parallel which also include matrixes. |
||
| name: run local destination tests without secrets | ||
| needs: test_common | ||
| uses: ./.github/workflows/test_destinations_local.yml | ||
|
|
||
| test_sources_local: | ||
| name: run local source tests without secrets | ||
| needs: test_common | ||
| uses: ./.github/workflows/test_sources_local.yml | ||
|
|
||
| test_plus: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe those 3 workflows should only depend on lint?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I changed it |
||
| name: test dlt+ connection | ||
| needs: lint | ||
| uses: ./.github/workflows/test_plus.yml | ||
|
|
||
| test_tools_airflow: | ||
| name: test airflow helpers | ||
| needs: lint | ||
| uses: ./.github/workflows/test_tools_airflow.yml | ||
|
|
||
| test_tools_build_images: | ||
| name: test build images | ||
| needs: lint | ||
| uses: ./.github/workflows/test_tools_build_images.yml | ||
|
|
||
| # | ||
| # Remote destination tests and docs snippets, needs secrets, | ||
| # so we depend on authorize and forward secrets | ||
| # | ||
| test_docs_snippets: | ||
| name: test snippets in docs | ||
| needs: [test_common, authorize_run_from_fork] | ||
| uses: ./.github/workflows/test_docs_snippets.yml | ||
| secrets: inherit | ||
|
|
||
| test_destinations_remote: | ||
| name: test remote destinations with secrets | ||
| needs: [authorize_run_from_fork, test_common] | ||
| uses: ./.github/workflows/test_destinations_remote.yml | ||
| secrets: inherit | ||
| with: | ||
| run_full_test_suite: ${{ contains(github.event.pull_request.labels.*.name, 'ci full') || github.event_name == 'schedule'}} | ||
|
|
||
| # | ||
| # Other tools and tests that require secrets | ||
| # | ||
| test_tools_dbt_runner: | ||
| name: test dbt runner | ||
| needs: [test_common, authorize_run_from_fork] | ||
| uses: ./.github/workflows/test_tools_dbt_runner.yml | ||
| secrets: inherit | ||
|
|
||
| # dbt cloud tests currently are disabled, TODO: explain why | ||
| # test_tools_dbt_cloud: | ||
| # needs: [test_common, authorize_run_from_fork] | ||
| # uses: ./.github/workflows/test_tools_dbt_cloud.yml | ||
| # secrets: inherit | ||
|
|
||
|
|
||
|
|
||
This file was deleted.
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.
so this workflow will cancel all the workflows it started?
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.
yes it will, it's pretty cool!