Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 21 additions & 13 deletions .github/workflows/ci-workflow-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,19 +56,6 @@ jobs:
pytorch_enabled: ${{ steps.export-flags.outputs.pytorch_enabled }}
branch_notes_dirt: ${{ steps.branch-notes-dirt.outputs.branch_notes_dirt }}
steps:
- name: Export workflow flags
id: export-flags
env:
skip_tpt: ${{ contains(github.event.head_commit.message, '[bench-only]') || contains(github.event.head_commit.message, '[skip-tpt]') || contains(github.event.head_commit.message, '[skip-third-party-testing]') }}
run: |
output() { echo "$1=$2" | tee -a "${GITHUB_OUTPUT}"; }

output matrix_enabled "${{ !contains(github.event.head_commit.message, '[bench-only]') && !contains(github.event.head_commit.message, '[skip-matrix]') }}"
output vdc_enabled "${{ !contains(github.event.head_commit.message, '[bench-only]') && !contains(github.event.head_commit.message, '[skip-vdc]') }}"
output docs_enabled "${{ !contains(github.event.head_commit.message, '[bench-only]') && !contains(github.event.head_commit.message, '[skip-docs]') }}"
output rapids_enabled "${{ !contains(github.event.head_commit.message, '[skip-rapids]') && !fromJSON(env.skip_tpt) }}"
output matx_enabled "${{ !contains(github.event.head_commit.message, '[skip-matx]') && !fromJSON(env.skip_tpt) }}"
output pytorch_enabled "${{ !contains(github.event.head_commit.message, '[skip-pytorch]') && !fromJSON(env.skip_tpt) }}"
- name: Checkout repo
uses: actions/checkout@v6
with:
Expand All @@ -87,6 +74,27 @@ jobs:
echo "pr_number=${{ fromJSON(steps.get-pr-info.outputs.pr-info).number }}" | tee -a "${GITHUB_OUTPUT}"
git fetch origin "${BASE_SHA}" -q
echo "merge_base_sha=$(git merge-base "${BASE_SHA}" "${GITHUB_SHA}")" | tee -a "${GITHUB_OUTPUT}"
- name: Inspect changes for third-party tests
id: inspect-third-party-changes
env:
BASE_SHA: ${{ steps.export-pr-info.outputs.base_sha }}
run: |
# This also runs when the main matrix is disabled with [skip-matrix].
./ci/inspect_changes.py --refs "${BASE_SHA}" "${GITHUB_SHA}"
- name: Export workflow flags
id: export-flags
env:
dirty_projects: ${{ format(' {0} {1} ', steps.inspect-third-party-changes.outputs.FULL_BUILD, steps.inspect-third-party-changes.outputs.LITE_BUILD) }}
skip_tpt: ${{ contains(github.event.head_commit.message, '[bench-only]') || contains(github.event.head_commit.message, '[skip-tpt]') || contains(github.event.head_commit.message, '[skip-third-party-testing]') }}
run: |
output() { echo "$1=$2" | tee -a "${GITHUB_OUTPUT}"; }

output matrix_enabled "${{ !contains(github.event.head_commit.message, '[bench-only]') && !contains(github.event.head_commit.message, '[skip-matrix]') }}"
output vdc_enabled "${{ !contains(github.event.head_commit.message, '[bench-only]') && !contains(github.event.head_commit.message, '[skip-vdc]') }}"
output docs_enabled "${{ !contains(github.event.head_commit.message, '[bench-only]') && !contains(github.event.head_commit.message, '[skip-docs]') }}"
output rapids_enabled "${{ contains(env.dirty_projects, ' rapids ') && !contains(github.event.head_commit.message, '[skip-rapids]') && !fromJSON(env.skip_tpt) }}"
output matx_enabled "${{ contains(env.dirty_projects, ' matx ') && !contains(github.event.head_commit.message, '[skip-matx]') && !fromJSON(env.skip_tpt) }}"
output pytorch_enabled "${{ contains(env.dirty_projects, ' pytorch ') && !contains(github.event.head_commit.message, '[skip-pytorch]') && !fromJSON(env.skip_tpt) }}"
- name: Build benchmark dispatch matrix
id: build-bench-matrix
run: |
Expand Down
48 changes: 39 additions & 9 deletions ci/project_files_and_dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@ projects:
name: "libcu++ Public API"
lite_dependencies: ['thrust_public', 'cub_public']
full_dependencies: []
include_regexes: ["libcudacxx/include/"]
include_regexes:
- "libcudacxx/include/"
- "libcudacxx/CMakeLists\\.txt$"
- "libcudacxx/cmake/libcudacxxAddSubdir\\.cmake$"

libcudacxx_internal:
name: "libcu++ Tests/Infra"
Expand All @@ -61,7 +64,10 @@ projects:
name: "CUB Public API"
lite_dependencies: [libcudacxx_public, thrust_public]
full_dependencies: []
include_regexes: ["cub/cub/"]
include_regexes:
- "cub/cub/"
- "cub/CMakeLists\\.txt$"
- "cub/cmake/CubAddSubdir\\.cmake$"

cub_internal:
name: "CUB Tests/Infra"
Expand All @@ -76,7 +82,10 @@ projects:
name: "Thrust Public API"
lite_dependencies: [libcudacxx_public, cub_public]
full_dependencies: []
include_regexes: ["thrust/thrust/"]
include_regexes:
- "thrust/thrust/"
- "thrust/CMakeLists\\.txt$"
- "thrust/cmake/ThrustAddSubdir\\.cmake$"

thrust_internal:
name: "Thrust Tests/Infra"
Expand Down Expand Up @@ -248,6 +257,33 @@ projects:
full_dependencies: []
include_regexes: ["nvrtcc/"]

matx:
name: "MatX"
matrix_project: "matx"
lite_dependencies: [libcudacxx_public, cub_public, thrust_public]
Comment thread
jakezwang marked this conversation as resolved.
full_dependencies: []
include_regexes:
- '\.github/workflows/build-matx\.yml'
- 'ci/matx/'

pytorch:
name: "PyTorch"
matrix_project: "pytorch"
lite_dependencies: [libcudacxx_public, cub_public, thrust_public]
full_dependencies: []
include_regexes:
- '\.github/workflows/build-pytorch\.yml'
- 'ci/pytorch/'

rapids:
name: "RAPIDS"
matrix_project: "rapids"
lite_dependencies: [libcudacxx_public, cub_public, thrust_public]
full_dependencies: []
include_regexes:
- '\.github/workflows/build-rapids\.yml'
- 'ci/rapids/'

# This is a dummy project, and only really serves to encode dependencies. Any time any
# of the C/C++ projects are modified, we want to launch one (and only one) clang-tidy
# job for the whole of CCCL.
Expand Down Expand Up @@ -297,9 +333,6 @@ ignore_regexes:
- '\.github/workflows/bench.*\.yml'
- '\.github/workflows/compile-time-bench\.yml'
- '\.github/workflows/build-docs\.yml'
- '\.github/workflows/build-matx\.yml'
- '\.github/workflows/build-pytorch\.yml'
- '\.github/workflows/build-rapids\.yml'
- '\.github/workflows/git-bisect\.yml'
- '\.github/workflows/project_automation.*\.yml'
- '\.github/workflows/release.*\.yml'
Expand All @@ -311,7 +344,4 @@ ignore_regexes:
- 'cccl-version.json'
- 'ci/bench/'
- 'ci/bench.+yaml'
- 'ci/matx/'
- 'ci/pytorch/'
- 'ci/rapids/'
- 'docs/'
6 changes: 6 additions & 0 deletions ci/test/inspect_changes/cmake_near_misses.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
libcudacxx/CMakeLists.txt.bak
libcudacxx/cmake/libcudacxxAddSubdir.cmake.bak
cub/CMakeLists.txt.bak
cub/cmake/CubAddSubdir.cmake.bak
thrust/CMakeLists.txt.bak
thrust/cmake/ThrustAddSubdir.cmake.bak
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/cmake_near_misses.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=libcudacxx cub thrust tidy
LITE_BUILD=packaging
2 changes: 1 addition & 1 deletion ci/test/inspect_changes/core_dirty.output
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FULL_BUILD=libcudacxx cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper nvrtcc tidy
FULL_BUILD=libcudacxx cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper nvrtcc matx pytorch rapids tidy
LITE_BUILD=
1 change: 1 addition & 0 deletions ci/test/inspect_changes/cub_cmake_add_subdir.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cub/cmake/CubAddSubdir.cmake
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/cub_cmake_add_subdir.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=cub tidy
LITE_BUILD=libcudacxx thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
1 change: 1 addition & 0 deletions ci/test/inspect_changes/cub_cmake_lists.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cub/CMakeLists.txt
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/cub_cmake_lists.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=cub tidy
LITE_BUILD=libcudacxx thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
1 change: 1 addition & 0 deletions ci/test/inspect_changes/cub_public_only.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cub/cub/block/block_reduce.cuh
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/cub_public_only.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=cub tidy
LITE_BUILD=libcudacxx thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cub/test/catch2_test_block_reduce.cu
thrust/testing/reduce.cu
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/cub_thrust_internal_only.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=cub thrust tidy
LITE_BUILD=packaging
1 change: 1 addition & 0 deletions ci/test/inspect_changes/cudax_public_only.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cudax/include/cuda/experimental/stf.cuh
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/cudax_public_only.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=cudax tidy
LITE_BUILD=cccl_c_stf python packaging
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/ignored_only.dirty_files
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
docs/index.rst
README.md
.github/actions/docs-build/action.yml
cudax/LICENSE.TXT
2 changes: 1 addition & 1 deletion ci/test/inspect_changes/libcudacxx_both.output
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FULL_BUILD=libcudacxx tidy
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
libcudacxx/cmake/libcudacxxAddSubdir.cmake
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/libcudacxx_cmake_add_subdir.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=libcudacxx tidy
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
libcudacxx/CMakeLists.txt
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/libcudacxx_cmake_lists.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=libcudacxx tidy
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Original file line number Diff line number Diff line change
@@ -1 +1 @@
libcudacxx/CMakeLists.txt
libcudacxx/test/support/test_macros.h
2 changes: 1 addition & 1 deletion ci/test/inspect_changes/libcudacxx_public_only.output
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FULL_BUILD=libcudacxx tidy
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
2 changes: 1 addition & 1 deletion ci/test/inspect_changes/libcudacxx_thrust.output
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FULL_BUILD=libcudacxx thrust tidy
LITE_BUILD=cub cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper
LITE_BUILD=cub cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
docs/index.rst
README.md
libcudacxx/include/cuda/std/algorithm
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/mixed_ignored_and_header.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=libcudacxx tidy
LITE_BUILD=cub thrust cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ci/matx/build_matx.sh
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/third_party_matx_script.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=matx
LITE_BUILD=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/workflows/build-matx.yml
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/third_party_matx_workflow.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=matx
LITE_BUILD=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ci/pytorch/build_pytorch.sh
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/third_party_pytorch_script.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=pytorch
LITE_BUILD=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/workflows/build-pytorch.yml
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/third_party_pytorch_workflow.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=pytorch
LITE_BUILD=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ci/rapids/rapids-entrypoint.sh
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/third_party_rapids_script.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=rapids
LITE_BUILD=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/workflows/build-rapids.yml
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/third_party_rapids_workflow.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=rapids
LITE_BUILD=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
thrust/cmake/ThrustAddSubdir.cmake
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/thrust_cmake_add_subdir.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=thrust tidy
LITE_BUILD=libcudacxx cub cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
1 change: 1 addition & 0 deletions ci/test/inspect_changes/thrust_cmake_lists.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
thrust/CMakeLists.txt
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/thrust_cmake_lists.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=thrust tidy
LITE_BUILD=libcudacxx cub cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
1 change: 1 addition & 0 deletions ci/test/inspect_changes/thrust_public_only.dirty_files
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
thrust/thrust/reduce.h
2 changes: 2 additions & 0 deletions ci/test/inspect_changes/thrust_public_only.output
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FULL_BUILD=thrust tidy
LITE_BUILD=libcudacxx cub cudax cccl_c_parallel cccl_c_parallel_v2 python_v2 python_tsan cccl_c_stf python cuda_coop_python packaging stdpar nvbench_helper matx pytorch rapids
Loading