@@ -149,11 +149,35 @@ jobs:
149149 SHA : ${{ github.sha }}
150150 run : ./ci/tools/env-vars test
151151
152- - name : Download cuda-pathfinder build artifacts
153- uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
154- with :
155- name : cuda-pathfinder-wheel
156- path : ./cuda_pathfinder
152+ - name : Install GitHub CLI
153+ # gh is needed for artifact fetching in subsequent steps
154+ run : |
155+ # See https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt.
156+ mkdir -p -m 755 /etc/apt/keyrings \
157+ && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
158+ && cat $out | tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
159+ && chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
160+ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
161+ && apt update \
162+ && apt install gh -y
163+
164+ - name : Download cuda-pathfinder build artifacts from main branch
165+ env :
166+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
167+ run : |
168+ MAIN_BRANCH="main"
169+ PATHFINDER_BASENAME="cuda-pathfinder-wheel"
170+ LATEST_MAIN_RUN_ID=$(gh run list -b ${MAIN_BRANCH} -L 1 -w "CI" -s completed -R NVIDIA/cuda-python --json databaseId | jq '.[]| .databaseId')
171+ if [[ "$LATEST_MAIN_RUN_ID" == "" ]]; then
172+ echo "LATEST_MAIN_RUN_ID not found!"
173+ exit 1
174+ fi
175+
176+ gh run download $LATEST_MAIN_RUN_ID -p ${PATHFINDER_BASENAME} -R NVIDIA/cuda-python
177+ ls -al $PATHFINDER_BASENAME
178+ mkdir -p ./cuda_pathfinder
179+ mv $PATHFINDER_BASENAME/*.whl ./cuda_pathfinder/
180+ rmdir $PATHFINDER_BASENAME
157181
158182 - name : Download cuda-python build artifacts
159183 if : ${{ env.SKIP_CUDA_BINDINGS_TEST == '0'}}
@@ -174,16 +198,6 @@ jobs:
174198 env :
175199 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
176200 run : |
177- # See https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt.
178- # gh is needed for artifact fetching.
179- mkdir -p -m 755 /etc/apt/keyrings \
180- && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
181- && cat $out | tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
182- && chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
183- && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
184- && apt update \
185- && apt install gh -y
186-
187201 OLD_BRANCH=$(cat .github/BACKPORT_BRANCH)
188202 OLD_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda*-${{ inputs.host-platform }}*"
189203 LATEST_PRIOR_RUN_ID=$(gh run list -b ${OLD_BRANCH} -L 1 -w "build-and-test.yml" -s completed -R NVIDIA/cuda-python --json databaseId | jq '.[]| .databaseId')
@@ -226,29 +240,7 @@ jobs:
226240 pwd
227241 ls -lahR $CUDA_BINDINGS_CYTHON_TESTS_DIR
228242
229- - name : Download cuda.core build artifacts
230- uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
231- with :
232- name : ${{ env.CUDA_CORE_ARTIFACT_NAME }}
233- path : ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
234-
235- - name : Display structure of downloaded cuda.core build artifacts
236- run : |
237- pwd
238- ls -lahR $CUDA_CORE_ARTIFACTS_DIR
239-
240- - name : Download cuda.core Cython tests
241- if : ${{ env.SKIP_CYTHON_TEST == '0' }}
242- uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
243- with :
244- name : ${{ env.CUDA_CORE_ARTIFACT_NAME }}-tests
245- path : ${{ env.CUDA_CORE_CYTHON_TESTS_DIR }}
246243
247- - name : Display structure of downloaded cuda.core Cython tests
248- if : ${{ env.SKIP_CYTHON_TEST == '0' }}
249- run : |
250- pwd
251- ls -lahR $CUDA_CORE_CYTHON_TESTS_DIR
252244
253245 - name : Set up Python ${{ matrix.PY_VER }}
254246 uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
@@ -278,23 +270,14 @@ jobs:
278270 - name : Set up compute-sanitizer
279271 run : setup-sanitizer
280272
281- - name : Run cuda.pathfinder tests with see_what_works
282- env :
283- CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS : see_what_works
284- run : run-tests pathfinder
285-
286273 - name : Run cuda.bindings tests
287274 if : ${{ env.SKIP_CUDA_BINDINGS_TEST == '0' }}
288275 env :
289276 CUDA_VER : ${{ matrix.CUDA_VER }}
290277 LOCAL_CTK : ${{ matrix.LOCAL_CTK }}
291278 run : run-tests bindings
292279
293- - name : Run cuda.core tests
294- env :
295- CUDA_VER : ${{ matrix.CUDA_VER }}
296- LOCAL_CTK : ${{ matrix.LOCAL_CTK }}
297- run : run-tests core
280+
298281
299282 - name : Ensure cuda-python installable
300283 run : |
@@ -303,17 +286,3 @@ jobs:
303286 else
304287 pip install $(ls cuda_python*.whl)[all]
305288 fi
306-
307- - name : Install cuda.pathfinder nvidia_wheels_cu12
308- if : startsWith(matrix.CUDA_VER, '12.')
309- run : |
310- pushd cuda_pathfinder
311- pip install -v .[nvidia_wheels_cu12]
312- pip freeze
313- popd
314-
315- - name : Run cuda.pathfinder tests with all_must_work
316- if : startsWith(matrix.CUDA_VER, '12.')
317- env :
318- CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS : all_must_work
319- run : run-tests pathfinder
0 commit comments