33# SPDX-License-Identifier: Apache-2.0
44
55# Nightly CI pipeline that tests optional dependencies (PyTorch, numba-cuda)
6- # against the latest cuda-python wheels built on main, and runs the standard
7- # test suite on runners reserved for nightly-only use (e.g. arm64 l4×2).
6+ # against the latest cuda-python wheels built on main, runs the standard
7+ # test suite on runners reserved for nightly-only use (e.g. arm64 l4×2), and
8+ # exercises release-time CI helper scripts so they do not silently rot between releases.
89#
910# This workflow does NOT build wheels — it downloads them from the latest
1011# successful CI run on main and runs integration/standard tests.
3132 default : ' '
3233
3334jobs :
35+ test-ci-tools-for-release :
36+ name : " Nightly: CI tools for release"
37+ if : ${{ github.repository_owner == 'nvidia' }}
38+ runs-on : ubuntu-latest
39+ steps :
40+ - name : Checkout repository
41+ uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
42+ with :
43+ fetch-depth : 1
44+
45+ - name : Run CI tools unit tests
46+ run : |
47+ python -m pip install pytest
48+ # Standalone CI tool tests; skip repo-root conftest.py (imports cuda.pathfinder).
49+ python -m pytest -v --noconftest ci/tools/tests
50+
3451 find-wheels :
3552 runs-on : ubuntu-latest
3653 outputs :
@@ -219,6 +236,7 @@ jobs:
219236 if : always()
220237 runs-on : ubuntu-latest
221238 needs :
239+ - test-ci-tools-for-release
222240 - find-wheels
223241 - test-pytorch-linux
224242 - test-pytorch-linux-aarch64
@@ -235,7 +253,9 @@ jobs:
235253 # See ci.yml for the full rationale on why we must use always()
236254 # and explicitly check each result rather than relying on the
237255 # default behaviour.
238- if ${{ needs.find-wheels.result != 'success' }}; then
256+ if ${{ needs.test-ci-tools-for-release.result == 'cancelled' ||
257+ needs.test-ci-tools-for-release.result == 'failure' ||
258+ needs.find-wheels.result != 'success' }}; then
239259 exit 1
240260 fi
241261 if ${{ needs.test-pytorch-linux.result == 'cancelled' ||
0 commit comments