diff --git a/.github/actions/ci-env/action.yml b/.github/actions/ci-env/action.yml index 1c66c68f253d..74ff30e1c6c4 100644 --- a/.github/actions/ci-env/action.yml +++ b/.github/actions/ci-env/action.yml @@ -4,7 +4,7 @@ description: "Single source of truth for shared CI constants (TheRock ref, Docke outputs: therock-ref: description: "TheRock commit hash to use" - value: "015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74" # 2026-10-09 + value: "c01e3a3f3f67966dd35612cf363b49964f33cd47" # 2026-10-12 kpack-ref: description: "rocm-systems commit whose shared/kpack provides the rocm_kpack packing tooling" # Copied into dnn-providers/hip-kernel-provider/cmake/KpackPython.cmake and @@ -13,7 +13,7 @@ outputs: value: "a022846cf553c2b135410a5168f97705f1b9c6ac" # 2026-08-22 baseline-run-id: description: "TheRock workflow run ID for prebuilt stage artifacts" - value: "37869200457" # Updated by assistant-librarian[bot] on submodule bumps + value: "38220501023" # Updated by assistant-librarian[bot] on submodule bumps docker-image: description: "Docker container image for Linux builds" value: "ghcr.io/rocm/therock_build_manylinux_x86_64@sha256:cf4f6d9909056906e4a1c0bc4c245658a0af4c6a6174082a86adfa2d518b7aeb" diff --git a/.github/skip-ci-config.toml b/.github/skip-ci-config.toml new file mode 100644 index 000000000000..b3753a43dbba --- /dev/null +++ b/.github/skip-ci-config.toml @@ -0,0 +1,72 @@ +# Skip CI Configuration for rocm-libraries +# +# This file defines which file patterns can skip TheRock CI. +# When all changed files match these patterns, CI can be skipped. +# +# These patterns extend TheRock's base patterns in +# build_tools/github_actions/skip-ci-base.toml. +# +# Pattern syntax: fnmatch glob patterns (*, ?, [abc]) +# See https://docs.python.org/3/library/fnmatch.html +# +# To add platform-specific skips (e.g., skip Windows CI for Linux-only projects), +# use the [skip_ci.linux] or [skip_ci.windows] sections. + +version = 1 + +[skip_ci] +# Common patterns that skip CI on all platforms +common = [ + # Documentation and metadata files + "*.clinerules", + "*.cursorrules", + "*.mdc", + "*.md", + "*.rst", + "*.rtf", + "*.pre-commit-config.*", + "*CODEOWNERS", + "*LICENSE", + "*/.markdownlint-ci2.yaml", + "*/.readthedocs.yaml", + "*/.spellcheck.local.yaml", + "*/.wordlist.txt", + ".github/label*.yml", + ".gitignore", + "dnn-providers/*/.gitignore", + "dnn-providers/*/docs/*", + "docs/*", + "projects/*/.gitignore", + "projects/*/docs/*", + + # Tools are standalone scripts/utilities not part of the build or test pipeline. + # Changes here should not trigger CI builds. + "projects/hipdnn/tools/*", + "shared/*/.gitignore", + "shared/*/docs/*", + + # ComposableKernel directories not built by TheRock + "projects/composablekernel/Jenkinsfile", + "projects/composablekernel/Docker*", + "projects/composablekernel/client_example/*", + "projects/composablekernel/codegen/*", + "projects/composablekernel/dispatcher/*", + "projects/composablekernel/example/*", + "projects/composablekernel/experimental/*", + "projects/composablekernel/profiler/*", + "projects/composablekernel/python/*", + "projects/composablekernel/rocm_ck/*", + "projects/composablekernel/script/*", + "projects/composablekernel/test/*", + "projects/composablekernel/test_data/*", + "projects/composablekernel/tile_engine/*", + "projects/composablekernel/tutorial/*", + "projects/composablekernel/vars/*", + "projects/composablekernel/groovy/*", +] + +# Patterns that skip CI only on Linux (e.g., Windows-only projects) +linux = [] + +# Patterns that skip CI only on Windows (e.g., Linux-only projects) +windows = [] diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index e1273f638166..563c9de4f632 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -124,7 +124,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 path: TheRock - name: Install base dependencies diff --git a/.github/workflows/therock-ci-nightly.yml b/.github/workflows/therock-ci-nightly.yml index 4483f9de8db5..640b161f418c 100644 --- a/.github/workflows/therock-ci-nightly.yml +++ b/.github/workflows/therock-ci-nightly.yml @@ -52,7 +52,7 @@ jobs: with: repository: "ROCm/TheRock" path: TheRock - ref: ${{ inputs.therock_ref_override || '015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74' }} + ref: ${{ inputs.therock_ref_override || 'c01e3a3f3f67966dd35612cf363b49964f33cd47' }} - name: Log locked TheRock ref run: | diff --git a/.github/workflows/therock-multi-arch-ci-asan-nightly.yml b/.github/workflows/therock-multi-arch-ci-asan-nightly.yml index 72af6116945d..960e97f6edf0 100644 --- a/.github/workflows/therock-multi-arch-ci-asan-nightly.yml +++ b/.github/workflows/therock-multi-arch-ci-asan-nightly.yml @@ -28,7 +28,7 @@ concurrency: jobs: setup: - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 with: build_variant: "asan" linux_amdgpu_families: "gfx94X,gfx950,gfx125X" @@ -37,8 +37,16 @@ jobs: build_pytorch: false build_jax: false repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 + # event_name tells TheRock this is a schedule/workflow_dispatch run with no + # meaningful diff, so it always runs CI. Without it, TheRock falls back to + # `git diff HEAD^` against a depth-1 checkout, which fails. + external_repo: >- + { + "repository": "${{ github.repository }}", + "ref": "${{ github.sha }}", + "event_name": "${{ github.event_name }}" + } log_therock_ref: name: Locked TheRock ref @@ -64,7 +72,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -75,7 +83,7 @@ jobs: test_type: ${{ needs.setup.outputs.test_type }} external_repo_config: ${{ needs.setup.outputs.external_repo_config }} repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 permissions: contents: read id-token: write @@ -92,7 +100,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 5308eada5ba6..723560fd874e 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -57,7 +57,7 @@ concurrency: jobs: setup: - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 with: build_variant: "asan" linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950,gfx125X' }} @@ -70,8 +70,20 @@ jobs: build_pytorch: false build_jax: false repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 + # The SHAs, event name, and skip-CI config path let TheRock compute the + # changed-file set and skip CI for docs-only changes. Without them it + # falls back to `git diff HEAD^` against a depth-1 checkout, which fails. + external_repo: >- + { + "repository": "${{ github.repository }}", + "ref": "${{ github.sha }}", + "base_sha": "${{ github.event.pull_request.base.sha || github.event.before }}", + "head_sha": "${{ github.sha }}", + "pr_number": ${{ github.event.pull_request.number || 'null' }}, + "event_name": "${{ github.event_name }}", + "skip_ci_config": ".github/skip-ci-config.toml" + } linux_build_and_test: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} @@ -81,7 +93,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -92,7 +104,7 @@ jobs: test_type: ${{ needs.setup.outputs.test_type }} external_repo_config: ${{ needs.setup.outputs.external_repo_config }} repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 permissions: contents: read id-token: write @@ -109,7 +121,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true diff --git a/.github/workflows/therock-multi-arch-ci-nightly.yml b/.github/workflows/therock-multi-arch-ci-nightly.yml index 50c3162c6b4b..36a6665d9205 100644 --- a/.github/workflows/therock-multi-arch-ci-nightly.yml +++ b/.github/workflows/therock-multi-arch-ci-nightly.yml @@ -13,7 +13,7 @@ name: TheRock Multi-Arch Nightly CI -# TheRock ref: pinned to ROCm/TheRock commit 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74. +# TheRock ref: pinned to ROCm/TheRock commit c01e3a3f3f67966dd35612cf363b49964f33cd47. on: schedule: @@ -34,7 +34,7 @@ concurrency: jobs: setup: - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 with: build_variant: "release" # Limit GPU families for nightly CI: gfx94X, gfx950 (Linux) and gfx1151 (Windows). @@ -48,8 +48,16 @@ jobs: prebuilt_stages: '' baseline_run_id: '' repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 + # event_name tells TheRock this is a schedule/workflow_dispatch run with no + # meaningful diff, so it always runs CI. Without it, TheRock falls back to + # `git diff HEAD^` against a depth-1 checkout, which fails. + external_repo: >- + { + "repository": "${{ github.repository }}", + "ref": "${{ github.sha }}", + "event_name": "${{ github.event_name }}" + } log_therock_ref: name: Locked TheRock ref @@ -75,7 +83,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -88,7 +96,7 @@ jobs: # Empty string triggers full test run in downstream workflow changed_projects: '' repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 permissions: contents: read id-token: write @@ -101,7 +109,7 @@ jobs: needs.setup.outputs.windows_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_windows.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_windows.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 secrets: inherit with: build_config: ${{ needs.setup.outputs.windows_build_config }} @@ -112,7 +120,7 @@ jobs: # Empty string triggers full test run in downstream workflow changed_projects: '' repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 permissions: contents: read id-token: write @@ -130,7 +138,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index 1f1ed2d20d13..1720bc9b05d0 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -14,7 +14,7 @@ name: TheRock Multi-Arch CI -# TheRock ref: pinned to ROCm/TheRock commit 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74. +# TheRock ref: pinned to ROCm/TheRock commit c01e3a3f3f67966dd35612cf363b49964f33cd47. # NOTE: update all `@` refs and `ref:` inputs together when switching. on: @@ -121,7 +121,6 @@ jobs: # See ROCm/rocm-libraries#11784 for the retired stopgap this replaces. test_projects: ${{ steps.configure.outputs.changed_projects }} run_all_tests: ${{ steps.configure.outputs.run_all_tests }} - skip_tests: ${{ steps.configure.outputs.skip_tests }} test_type: ${{ steps.configure.outputs.test_type }} steps: - name: Checkout repository config @@ -135,7 +134,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 path: _therock sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true @@ -154,7 +153,7 @@ jobs: setup: needs: [ci-env, configure] - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 with: build_variant: "release" # Limit GPU families for rocm-libraries CI. @@ -193,7 +192,7 @@ jobs: 'off' }} repository: ROCm/TheRock - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 # Pass external repo info for stage-impact analysis. # extra_cmake_options is appended to the cmake configure line of every # build stage, scoped to this repository's CI runs. TheRock keeps @@ -207,6 +206,11 @@ jobs: { "repository": "${{ github.repository }}", "ref": "${{ github.sha }}", + "base_sha": "${{ github.event.pull_request.base.sha || github.event.before }}", + "head_sha": "${{ github.sha }}", + "pr_number": ${{ github.event.pull_request.number || 'null' }}, + "event_name": "${{ github.event_name }}", + "skip_ci_config": ".github/skip-ci-config.toml", "extra_cmake_options": "-DTHEROCK_FLAG_HIPKERNELPROVIDER_ENABLE_ROCKE=ON" } @@ -216,10 +220,9 @@ jobs: if: >- ${{ needs.setup.outputs.linux_build_config != '' && - needs.setup.outputs.enable_build_jobs == 'true' && - needs.configure.outputs.skip_tests != 'true' + needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -233,7 +236,7 @@ jobs: changed_projects: ${{ needs.configure.outputs.run_all_tests == 'true' && '' || needs.configure.outputs.test_projects }} repository: ROCm/TheRock # Concrete SHA resolved once by setup; do not re-resolve main here. - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 permissions: contents: read id-token: write @@ -244,10 +247,9 @@ jobs: if: >- ${{ needs.setup.outputs.windows_build_config != '' && - needs.setup.outputs.enable_build_jobs == 'true' && - needs.configure.outputs.skip_tests != 'true' + needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_windows.yml@015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_windows.yml@c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 secrets: inherit with: build_config: ${{ needs.setup.outputs.windows_build_config }} @@ -259,7 +261,7 @@ jobs: changed_projects: ${{ needs.configure.outputs.run_all_tests == 'true' && '' || needs.configure.outputs.test_projects }} repository: ROCm/TheRock # Concrete SHA resolved once by setup; do not re-resolve main here. - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 permissions: contents: read id-token: write @@ -306,7 +308,7 @@ jobs: with: repository: "ROCm/TheRock" # Concrete SHA resolved once by setup; do not re-resolve main here. - ref: 015ba176c2db9bfaf5f9a2e7a774bd3e88b72a74 # 2026-10-09 + ref: c01e3a3f3f67966dd35612cf363b49964f33cd47 # 2026-10-12 sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true