Skip to content

Commit 31adc57

Browse files
authored
Merge branch 'main' into tensor-map-submodule-cccl
2 parents a75c3b6 + 5fe0749 commit 31adc57

350 files changed

Lines changed: 35814 additions & 10456 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Download artifact (with retry)
6+
7+
description: >-
8+
Wrapper around actions/download-artifact that retries once after a short
9+
delay when the first attempt fails. Designed to absorb transient
10+
infrastructure flakes such as "other side closed" without failing the job.
11+
12+
inputs:
13+
name:
14+
description: "Name of the artifact to download"
15+
required: true
16+
path:
17+
description: "Destination path for the downloaded artifact"
18+
required: true
19+
run-id:
20+
description: >-
21+
The run ID of the workflow run that uploaded the artifact. Only used
22+
together with github-token; leave empty to download from the current run.
23+
required: false
24+
default: ""
25+
github-token:
26+
description: >-
27+
Token used to download from another run or repository. Leave empty (the
28+
default) to download from the current run, which uses
29+
actions/download-artifact's internal download path. That path is not the
30+
same as the one used when a token is given, so do not default this to
31+
github.token.
32+
required: false
33+
default: ""
34+
retry-delay-seconds:
35+
description: "Seconds to wait between the first failure and the retry"
36+
required: false
37+
default: "15"
38+
39+
runs:
40+
using: composite
41+
steps:
42+
- name: Download artifact (attempt 1)
43+
id: attempt1
44+
continue-on-error: true
45+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
46+
with:
47+
name: ${{ inputs.name }}
48+
path: ${{ inputs.path }}
49+
run-id: ${{ inputs.run-id }}
50+
github-token: ${{ inputs.github-token }}
51+
52+
- name: Wait before retry
53+
if: ${{ steps.attempt1.outcome == 'failure' }}
54+
shell: bash --noprofile --norc -euo pipefail {0}
55+
env:
56+
# Pass through env instead of interpolating the input into the shell
57+
# script, so a non-numeric value cannot inject commands.
58+
RETRY_DELAY_SECONDS: ${{ inputs.retry-delay-seconds }}
59+
run: |
60+
echo "::warning::Artifact download failed (attempt 1); retrying in ${RETRY_DELAY_SECONDS}s"
61+
sleep "$RETRY_DELAY_SECONDS"
62+
63+
- name: Download artifact (attempt 2)
64+
if: ${{ steps.attempt1.outcome == 'failure' }}
65+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
66+
with:
67+
name: ${{ inputs.name }}
68+
path: ${{ inputs.path }}
69+
run-id: ${{ inputs.run-id }}
70+
github-token: ${{ inputs.github-token }}

‎.github/labeler.yml‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,15 @@
77

88
cuda.bindings:
99
- changed-files:
10-
- any-glob-to-any-file: 'cuda_bindings/**'
10+
- any-glob-to-any-file:
11+
- 'cuda_bindings/**'
12+
- 'samples/cuda_bindings/**'
1113

1214
cuda.core:
1315
- changed-files:
14-
- any-glob-to-any-file: 'cuda_core/**'
16+
- any-glob-to-any-file:
17+
- 'cuda_core/**'
18+
- 'samples/cuda_core/**'
1519

1620
cuda.pathfinder:
1721
- changed-files:

‎.github/workflows/build-wheel.yml‎

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ on:
2424
required: false
2525
type: boolean
2626
default: false
27+
python-versions:
28+
description: "JSON-encoded array of Python versions to build (e.g. '[\"3.11\",\"3.12\"]'). ci.yml sources this from ci/versions.yml."
29+
required: true
30+
type: string
2731

2832
defaults:
2933
run:
@@ -47,20 +51,7 @@ jobs:
4751
strategy:
4852
fail-fast: false
4953
matrix:
50-
python-version:
51-
- "3.10"
52-
- "3.11"
53-
- "3.12"
54-
- "3.13"
55-
- "3.14"
56-
- "3.14t"
57-
- "3.15"
58-
- "3.15t"
59-
exclude:
60-
# CPython 3.10 has no official Windows ARM64 build (neither
61-
# nuget-cpython nor actions/setup-python's manifest carries one),
62-
# so it cannot be built or tested on win-arm64.
63-
- python-version: ${{ (inputs.host-platform == 'win-arm64' && '3.10') || '' }}
54+
python-version: ${{ fromJSON(inputs.python-versions) }}
6455
name: py${{ matrix.python-version }}
6556
runs-on: ${{ (inputs.host-platform == 'linux-64' && 'linux-amd64-cpu8') ||
6657
(inputs.host-platform == 'linux-aarch64' && 'linux-arm64-cpu8') ||
@@ -95,16 +86,16 @@ jobs:
9586
| sudo tar -C /usr/local/bin -xvzf - --wildcards --strip-components=1 -x '*/sccache'
9687
echo "SCCACHE_PATH=/usr/local/bin/sccache" >> "$GITHUB_ENV"
9788
89+
# The runner only exposes these values to actions, not to `run:` steps or
90+
# the cibuildwheel container, so re-export them for sccache's GHA backend.
9891
# xref: https://github.com/orgs/community/discussions/42856#discussioncomment-7678867
9992
- name: Adding addtional GHA cache-related env vars
10093
if: ${{ env.BUILD_BINDINGS == 'true' || env.BUILD_CORE == 'true' }}
10194
uses: actions/github-script@v9
10295
with:
10396
script: |
10497
core.exportVariable('ACTIONS_CACHE_SERVICE_V2', 'on');
105-
core.exportVariable('ACTIONS_CACHE_URL', process.env['ACTIONS_CACHE_URL'] || '');
10698
core.exportVariable('ACTIONS_RESULTS_URL', process.env['ACTIONS_RESULTS_URL'] || '');
107-
core.exportVariable('ACTIONS_RUNTIME_URL', process.env['ACTIONS_RUNTIME_URL'] || '');
10899
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN'] || '');
109100
110101
- name: Setup proxy cache
@@ -256,9 +247,7 @@ jobs:
256247
CXX="/host/${{ env.SCCACHE_PATH }} c++"
257248
SCCACHE_GHA_ENABLED=true
258249
ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }}
259-
ACTIONS_RUNTIME_URL=${{ env.ACTIONS_RUNTIME_URL }}
260250
ACTIONS_RESULTS_URL=${{ env.ACTIONS_RESULTS_URL }}
261-
ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }}
262251
ACTIONS_CACHE_SERVICE_V2=${{ env.ACTIONS_CACHE_SERVICE_V2 }}
263252
CIBW_ENVIRONMENT_WINDOWS: >
264253
CUDA_PATH="$(cygpath -w ${{ env.CUDA_PATH }})"
@@ -355,9 +344,7 @@ jobs:
355344
CXX="/host/${{ env.SCCACHE_PATH }} c++"
356345
SCCACHE_GHA_ENABLED=true
357346
ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }}
358-
ACTIONS_RUNTIME_URL=${{ env.ACTIONS_RUNTIME_URL }}
359347
ACTIONS_RESULTS_URL=${{ env.ACTIONS_RESULTS_URL }}
360-
ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }}
361348
ACTIONS_CACHE_SERVICE_V2=${{ env.ACTIONS_CACHE_SERVICE_V2 }}
362349
CIBW_ENVIRONMENT_WINDOWS: >
363350
CUDA_PATH="$(cygpath -w ${{ env.CUDA_PATH }})"
@@ -641,9 +628,7 @@ jobs:
641628
CXX="/host/${{ env.SCCACHE_PATH }} c++"
642629
SCCACHE_GHA_ENABLED=true
643630
ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }}
644-
ACTIONS_RUNTIME_URL=${{ env.ACTIONS_RUNTIME_URL }}
645631
ACTIONS_RESULTS_URL=${{ env.ACTIONS_RESULTS_URL }}
646-
ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }}
647632
ACTIONS_CACHE_SERVICE_V2=${{ env.ACTIONS_CACHE_SERVICE_V2 }}
648633
CIBW_ENVIRONMENT_WINDOWS: >
649634
CUDA_PATH="$(cygpath -w ${{ env.CUDA_PATH }})"

‎.github/workflows/ci-nightly.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
- name: Run CI tools unit tests
4646
run: |
47-
python -m pip install pytest
47+
python -m pip install pytest pyyaml==6.0.3
4848
# Standalone CI tool tests; skip repo-root conftest.py (imports cuda.pathfinder).
4949
python -m pytest -v --noconftest ci/tools/tests
5050

0 commit comments

Comments
 (0)