-
Notifications
You must be signed in to change notification settings - Fork 1k
Prune workflows based on changed files #16642
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
rapids-bot
merged 86 commits into
rapidsai:branch-24.10
from
KyleFromNVIDIA:test-pruning
Aug 27, 2024
Merged
Changes from all commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
a6bcc44
Prune workflows based on changed files
KyleFromNVIDIA 68891bf
Remove checkout step
KyleFromNVIDIA 4c7b312
Workflow syntax
KyleFromNVIDIA d569bcf
Refactor
KyleFromNVIDIA bdbd6aa
Checkout
KyleFromNVIDIA a313414
pr-builder dependency
KyleFromNVIDIA 9c0238d
Add rapids_config.cmake and build.sh
KyleFromNVIDIA 3248631
Print outputs
KyleFromNVIDIA 30f6482
Oops
KyleFromNVIDIA 9174e2d
Add test job
KyleFromNVIDIA 97c02c9
dep
KyleFromNVIDIA 01b9764
test_cpp
KyleFromNVIDIA 9a39bfc
==true
KyleFromNVIDIA 15a1bb5
Dummy comment
KyleFromNVIDIA 3716ab2
Debugging
KyleFromNVIDIA 7553959
Re-run CI
KyleFromNVIDIA 5ea7a8c
Test
KyleFromNVIDIA a7c2e7f
Dummy comment
KyleFromNVIDIA 62e1ae9
Re-run CI
KyleFromNVIDIA 61997ce
Remove dummy comment
KyleFromNVIDIA fa10f14
Debugging
KyleFromNVIDIA 30c4ec0
Dummy comment
KyleFromNVIDIA f187145
More debugging
KyleFromNVIDIA 5f97a6f
String style
KyleFromNVIDIA 5e50398
Remove dummy comment
KyleFromNVIDIA fb5ab25
conditional
KyleFromNVIDIA f8c6a09
== true
KyleFromNVIDIA 07fb6fa
Dummy comment
KyleFromNVIDIA 62150b4
Remove test job, fix conditional
KyleFromNVIDIA fe508a1
Remove test job
KyleFromNVIDIA f1bc715
Broaden file checks
KyleFromNVIDIA 42de87f
Add test job
KyleFromNVIDIA c049d1f
Quote wildcard
KyleFromNVIDIA ae50935
Re-run CI
KyleFromNVIDIA 88344d1
Dummy comment
KyleFromNVIDIA 9eb540c
Debug github context
KyleFromNVIDIA ffca924
toJSON()
KyleFromNVIDIA 75dfc3c
Quote
KyleFromNVIDIA 3ea3389
Get PR info
KyleFromNVIDIA b769771
pr-info
KyleFromNVIDIA f569079
Check against PR base sha
KyleFromNVIDIA c1571a4
Increase fetch depth
KyleFromNVIDIA 452e765
Debugging
KyleFromNVIDIA d7843a5
More debugging
KyleFromNVIDIA 2796540
Dummy comment
KyleFromNVIDIA 3c49cdf
Revert "Dummy comment"
KyleFromNVIDIA fdfe3e0
Dummy comment
KyleFromNVIDIA 2b3771d
Re-run CI
KyleFromNVIDIA 547028a
Remove debugging
KyleFromNVIDIA a4e45c2
Filter Java and more Python jobs
KyleFromNVIDIA a33d312
Sort workflow jobs
KyleFromNVIDIA aefcee3
Test requiring a job that never runs
KyleFromNVIDIA bb4caa3
Run the never-run job
KyleFromNVIDIA 1dab6f0
Revert "Run the never-run job"
KyleFromNVIDIA 747de4c
Try conditional
KyleFromNVIDIA 32e985a
exit 0
KyleFromNVIDIA 4b9e366
false
KyleFromNVIDIA 5ada0b9
if: always()
KyleFromNVIDIA 4a37ddb
Run the never-run test
KyleFromNVIDIA 1b26d70
Initial commit of fake-pr-builder
KyleFromNVIDIA feed025
Start using pr-builder-needs-check
KyleFromNVIDIA 140f24c
Re-run CI
KyleFromNVIDIA 173591a
Re-run CI
KyleFromNVIDIA 9bbe5cc
Re-run CI
KyleFromNVIDIA a9f783a
Pass needs input
KyleFromNVIDIA c2dda97
Remove if: always()
KyleFromNVIDIA 1ee9faa
Revert "Remove if: always()"
KyleFromNVIDIA 09c86b7
Re-run CI
KyleFromNVIDIA 023ec73
Re-run CI
KyleFromNVIDIA b7b578f
Re-run CI
KyleFromNVIDIA bbcd80f
Re-run CI
KyleFromNVIDIA e792537
Re-run CI
KyleFromNVIDIA 79cca7e
Skip never-run
KyleFromNVIDIA 1866baf
Run never-run
KyleFromNVIDIA 39ba71a
Revert "Run never-run"
KyleFromNVIDIA fd06a97
Restore workflow and add if and needs to pr-builder
KyleFromNVIDIA 875628c
Temporarily ignore .github changes for testing
KyleFromNVIDIA 0761f04
Filter notebook tests
KyleFromNVIDIA acf2672
Add needs changed-files
KyleFromNVIDIA 46d0706
Add needs changed-files
KyleFromNVIDIA 0314fd6
Don't ignore docs for notebooks
KyleFromNVIDIA fa16682
Test a notebook failure
KyleFromNVIDIA 91ae5c4
Merge branch 'branch-24.10' into test-pruning
KyleFromNVIDIA 6f86576
Remove temporary testing modifications
KyleFromNVIDIA c4c68f5
Exclude README, CONTRIBUTING, and imgs
KyleFromNVIDIA 1f49df5
Don't exclude imgs from notebooks
KyleFromNVIDIA 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 |
|---|---|---|
|
|
@@ -12,6 +12,7 @@ concurrency: | |
| jobs: | ||
| pr-builder: | ||
| needs: | ||
| - changed-files | ||
| - checks | ||
| - conda-cpp-build | ||
| - conda-cpp-checks | ||
|
|
@@ -37,6 +38,63 @@ jobs: | |
| - pandas-tests-diff | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: always() | ||
| with: | ||
| needs: ${{ toJSON(needs) }} | ||
| changed-files: | ||
| runs-on: ubuntu-latest | ||
| name: "Check changed files" | ||
| outputs: | ||
| test_cpp: ${{ steps.changed-files.outputs.cpp_any_changed == 'true' }} | ||
| test_java: ${{ steps.changed-files.outputs.java_any_changed == 'true' }} | ||
| test_notebooks: ${{ steps.changed-files.outputs.notebooks_any_changed == 'true' }} | ||
| test_python: ${{ steps.changed-files.outputs.python_any_changed == 'true' }} | ||
| steps: | ||
| - name: Get PR info | ||
| id: get-pr-info | ||
| uses: rapidsai/shared-actions/get-pr-info@main | ||
| - name: Checkout code repo | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| ref: ${{ inputs.sha }} | ||
| fetch-depth: ${{ fromJSON(steps.get-pr-info.outputs.pr-info).commits }} | ||
| persist-credentials: false | ||
| - name: Get changed files | ||
| id: changed-files | ||
| uses: tj-actions/changed-files@v45 | ||
| with: | ||
| base_sha: ${{ fromJSON(steps.get-pr-info.outputs.pr-info).base.sha }} | ||
| files_yaml: | | ||
|
KyleFromNVIDIA marked this conversation as resolved.
|
||
| cpp: | ||
|
KyleFromNVIDIA marked this conversation as resolved.
|
||
| - '**' | ||
| - '!CONTRIBUTING.md' | ||
| - '!README.md' | ||
| - '!docs/**' | ||
| - '!img/**' | ||
| - '!java/**' | ||
| - '!notebooks/**' | ||
| - '!python/**' | ||
| java: | ||
| - '**' | ||
| - '!CONTRIBUTING.md' | ||
| - '!README.md' | ||
| - '!docs/**' | ||
| - '!img/**' | ||
| - '!notebooks/**' | ||
| - '!python/**' | ||
| notebooks: | ||
| - '**' | ||
| - '!CONTRIBUTING.md' | ||
| - '!README.md' | ||
| - '!java/**' | ||
| python: | ||
| - '**' | ||
| - '!CONTRIBUTING.md' | ||
| - '!README.md' | ||
| - '!docs/**' | ||
| - '!img/**' | ||
| - '!java/**' | ||
| - '!notebooks/**' | ||
| checks: | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
|
|
@@ -56,9 +114,10 @@ jobs: | |
| build_type: pull-request | ||
| enable_check_symbols: true | ||
| conda-cpp-tests: | ||
| needs: conda-cpp-build | ||
| needs: [conda-cpp-build, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_cpp == 'true' | ||
|
KyleFromNVIDIA marked this conversation as resolved.
|
||
| with: | ||
| build_type: pull-request | ||
| conda-python-build: | ||
|
|
@@ -68,24 +127,27 @@ jobs: | |
| with: | ||
| build_type: pull-request | ||
| conda-python-cudf-tests: | ||
| needs: conda-python-build | ||
| needs: [conda-python-build, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| build_type: pull-request | ||
| script: "ci/test_python_cudf.sh" | ||
| conda-python-other-tests: | ||
| # Tests for dask_cudf, custreamz, cudf_kafka are separated for CI parallelism | ||
| needs: conda-python-build | ||
| needs: [conda-python-build, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| build_type: pull-request | ||
| script: "ci/test_python_other.sh" | ||
|
KyleFromNVIDIA marked this conversation as resolved.
|
||
| conda-java-tests: | ||
| needs: conda-cpp-build | ||
| needs: [conda-cpp-build, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_java == 'true' | ||
| with: | ||
| build_type: pull-request | ||
| node_type: "gpu-v100-latest-1" | ||
|
|
@@ -103,9 +165,10 @@ jobs: | |
| container_image: "rapidsai/ci-wheel:latest" | ||
| run_script: "ci/configure_cpp_static.sh" | ||
| conda-notebook-tests: | ||
| needs: conda-python-build | ||
| needs: [conda-python-build, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_notebooks == 'true' | ||
| with: | ||
| build_type: pull-request | ||
| node_type: "gpu-v100-latest-1" | ||
|
|
@@ -145,9 +208,10 @@ jobs: | |
| build_type: pull-request | ||
| script: "ci/build_wheel_cudf.sh" | ||
| wheel-tests-cudf: | ||
| needs: wheel-build-cudf | ||
| needs: [wheel-build-cudf, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| build_type: pull-request | ||
| script: ci/test_wheel_cudf.sh | ||
|
|
@@ -161,9 +225,10 @@ jobs: | |
| build_type: pull-request | ||
| script: "ci/build_wheel_cudf_polars.sh" | ||
| wheel-tests-cudf-polars: | ||
| needs: wheel-build-cudf-polars | ||
| needs: [wheel-build-cudf-polars, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| # This selects "ARCH=amd64 + the latest supported Python + CUDA". | ||
| matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) | ||
|
|
@@ -181,9 +246,10 @@ jobs: | |
| build_type: pull-request | ||
| script: "ci/build_wheel_dask_cudf.sh" | ||
| wheel-tests-dask-cudf: | ||
| needs: wheel-build-dask-cudf | ||
| needs: [wheel-build-dask-cudf, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| # This selects "ARCH=amd64 + the latest supported Python + CUDA". | ||
| matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) | ||
|
|
@@ -200,19 +266,21 @@ jobs: | |
| build-all -DBUILD_BENCHMARKS=ON --verbose; | ||
| sccache -s; | ||
| unit-tests-cudf-pandas: | ||
| needs: wheel-build-cudf | ||
| needs: [wheel-build-cudf, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| # This selects "ARCH=amd64 + the latest supported Python + CUDA". | ||
| matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) | ||
| build_type: pull-request | ||
| script: ci/cudf_pandas_scripts/run_tests.sh | ||
| pandas-tests: | ||
| # run the Pandas unit tests using PR branch | ||
| needs: wheel-build-cudf | ||
| needs: [wheel-build-cudf, changed-files] | ||
| secrets: inherit | ||
| uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
| if: needs.changed-files.outputs.test_python == 'true' | ||
| with: | ||
| # This selects "ARCH=amd64 + the latest supported Python + CUDA". | ||
| matrix_filter: map(select(.ARCH == "amd64")) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))])) | ||
|
|
||
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.
Uh oh!
There was an error while loading. Please reload this page.