Skip to content

Commit 1f9bb51

Browse files
authored
Merge branch 'main' into rparolin/skip_ipc_on_wsl
2 parents d66d4da + ffd8d5a commit 1f9bb51

File tree

21 files changed

+170
-117
lines changed

21 files changed

+170
-117
lines changed

.github/workflows/backport.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
echo "OLD_BRANCH=${OLD_BRANCH}" >> $GITHUB_ENV
3333
3434
- name: Create backport pull requests
35-
uses: korthout/backport-action@ca4972adce8039ff995e618f5fc02d1b7961f27a # v3.3.0
35+
uses: korthout/backport-action@d07416681cab29bf2661702f925f020aaa962997 # v3.4.1
3636
with:
3737
copy_assignees: true
3838
copy_labels_pattern: true

.github/workflows/bandit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2424

2525
- name: Install uv
26-
uses: astral-sh/setup-uv@b75a909f75acd358c2196fb9a5f1299a9a8868a4 # v6.7.0
26+
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
2727

2828
- name: Get ignore codes
2929
id: ignore-codes

.github/workflows/build-wheel.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ jobs:
110110
if-no-files-found: error
111111

112112
- name: Build cuda.core wheel
113-
uses: pypa/cibuildwheel@c923d83ad9c1bc00211c5041d0c3f73294ff88f6 # v3.1.4
113+
uses: pypa/cibuildwheel@7c619efba910c04005a835b110b057fc28fd6e93 # v3.2.0
114114
with:
115115
package-dir: ./cuda_core/
116116
output-dir: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
@@ -144,7 +144,7 @@ jobs:
144144
cuda-version: ${{ inputs.cuda-version }}
145145

146146
- name: Build cuda.bindings wheel
147-
uses: pypa/cibuildwheel@c923d83ad9c1bc00211c5041d0c3f73294ff88f6 # v3.1.4
147+
uses: pypa/cibuildwheel@7c619efba910c04005a835b110b057fc28fd6e93 # v3.2.0
148148
with:
149149
package-dir: ./cuda_bindings/
150150
output-dir: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
@@ -227,7 +227,7 @@ jobs:
227227
228228
- name: Build cuda.bindings Cython tests
229229
run: |
230-
pip install $(ls ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl)[test]
230+
pip install ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl --group ./cuda_bindings/pyproject.toml:test
231231
pushd ${{ env.CUDA_BINDINGS_CYTHON_TESTS_DIR }}
232232
bash build_tests.sh
233233
popd
@@ -241,7 +241,7 @@ jobs:
241241

242242
- name: Build cuda.core Cython tests
243243
run: |
244-
pip install $(ls ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/*.whl)[test]
244+
pip install ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/*.whl --group ./cuda_core/pyproject.toml:test
245245
pushd ${{ env.CUDA_CORE_CYTHON_TESTS_DIR }}
246246
bash build_tests.sh
247247
popd

.github/workflows/ci.yml

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,38 @@ jobs:
3232
cuda_build_ver=$(jq -r .cuda.build.version ci/versions.json)
3333
echo "cuda_build_ver=$cuda_build_ver" >> $GITHUB_OUTPUT
3434
35+
should-skip:
36+
runs-on: ubuntu-latest
37+
outputs:
38+
skip: ${{ steps.get-should-skip.outputs.skip }}
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
42+
- name: Compute whether to skip builds and tests
43+
id: get-should-skip
44+
env:
45+
GH_TOKEN: ${{ github.token }}
46+
run: |
47+
set -euxo pipefail
48+
if ${{ startsWith(github.ref_name, 'pull-request/') }}; then
49+
skip="$(gh pr view "$(grep -Po '(\d+)$' <<< '${{ github.ref_name }}')" --json title --jq '.title | contains("[no-ci]")')"
50+
else
51+
skip=false
52+
fi
53+
echo "skip=${skip}" >> "$GITHUB_OUTPUT"
54+
3555
# WARNING: make sure all of the build jobs are in sync
3656
build-linux-64:
3757
needs:
3858
- ci-vars
59+
- should-skip
3960
strategy:
4061
fail-fast: false
4162
matrix:
4263
host-platform:
4364
- linux-64
4465
name: Build ${{ matrix.host-platform }}, CUDA ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }}
45-
if: ${{ github.repository_owner == 'nvidia' }}
66+
if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.skip) }}
4667
secrets: inherit
4768
uses: ./.github/workflows/build-wheel.yml
4869
with:
@@ -53,13 +74,14 @@ jobs:
5374
build-linux-aarch64:
5475
needs:
5576
- ci-vars
77+
- should-skip
5678
strategy:
5779
fail-fast: false
5880
matrix:
5981
host-platform:
6082
- linux-aarch64
6183
name: Build ${{ matrix.host-platform }}, CUDA ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }}
62-
if: ${{ github.repository_owner == 'nvidia' }}
84+
if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.skip) }}
6385
secrets: inherit
6486
uses: ./.github/workflows/build-wheel.yml
6587
with:
@@ -70,13 +92,14 @@ jobs:
7092
build-windows:
7193
needs:
7294
- ci-vars
95+
- should-skip
7396
strategy:
7497
fail-fast: false
7598
matrix:
7699
host-platform:
77100
- win-64
78101
name: Build ${{ matrix.host-platform }}, CUDA ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }}
79-
if: ${{ github.repository_owner == 'nvidia' }}
102+
if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.skip) }}
80103
secrets: inherit
81104
uses: ./.github/workflows/build-wheel.yml
82105
with:
@@ -163,15 +186,12 @@ jobs:
163186

164187
checks:
165188
name: Check job status
166-
permissions:
167-
checks: read
189+
runs-on: ubuntu-latest
168190
needs:
169-
- build-linux-64
170191
- test-linux-64
171-
- build-linux-aarch64
172192
- test-linux-aarch64
173-
- build-windows
174193
- test-windows
175194
- doc
176-
secrets: inherit
177-
uses: ./.github/workflows/status-check.yml
195+
steps:
196+
- name: Exit
197+
run: exit 0

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,11 @@ jobs:
165165
166166
- name: Publish package distributions to PyPI
167167
if: ${{ inputs.wheel-dst == 'pypi' }}
168-
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
168+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
169169

170170
- name: Publish package distributions to TestPyPI
171171
if: ${{ inputs.wheel-dst == 'testpypi' }}
172-
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
172+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
173173
with:
174174
repository-url: https://test.pypi.org/legacy/
175175

.github/workflows/status-check.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

.github/workflows/test-wheel-linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ jobs:
284284
run: |
285285
set -euo pipefail
286286
pushd cuda_pathfinder
287-
pip install --only-binary=:all: -v ".[test_nvidia_wheels_cu${TEST_CUDA_MAJOR},test_nvidia_wheels_host]"
287+
pip install --only-binary=:all: -v . --group "test_nvidia_wheels_cu${TEST_CUDA_MAJOR}" --group test_nvidia_wheels_host
288288
pip list
289289
popd
290290

.github/workflows/test-wheel-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ jobs:
257257
shell: bash --noprofile --norc -xeuo pipefail {0}
258258
run: |
259259
pushd cuda_pathfinder
260-
pip install --only-binary=:all: -v ".[test_nvidia_wheels_cu${TEST_CUDA_MAJOR},test_nvidia_wheels_host]"
260+
pip install --only-binary=:all: -v . --group "test_nvidia_wheels_cu${TEST_CUDA_MAJOR}" --group test_nvidia_wheels_host
261261
pip list
262262
popd
263263

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ci:
1515
# pre-commit autoupdate --freeze
1616
repos:
1717
- repo: https://github.com/astral-sh/ruff-pre-commit
18-
rev: 0b19ef1fd6ad680ed7752d6daba883ce1265a6de # frozen: v0.12.2
18+
rev: f298305809c552671cc47e0fec0ba43e96c146a2 # frozen: v0.13.2
1919
hooks:
2020
- id: ruff
2121
args: [--fix, --show-fixes]
@@ -40,7 +40,7 @@ repos:
4040

4141
# Standard hooks
4242
- repo: https://github.com/pre-commit/pre-commit-hooks
43-
rev: "v5.0.0"
43+
rev: "3e8a8703264a2f4a69428a0aa4dcb512790b2c8c" # frozen: v6.0.0
4444
hooks:
4545
- id: check-added-large-files
4646
- id: check-case-conflict
@@ -58,14 +58,14 @@ repos:
5858

5959
# Checking for common mistakes
6060
- repo: https://github.com/pre-commit/pygrep-hooks
61-
rev: "v1.10.0"
61+
rev: "3a6eb0fadf60b3cccfd80bad9dbb6fae7e47b316" # frozen: v1.10.0
6262
hooks:
6363
- id: rst-backticks
6464
- id: rst-directive-colons
6565
- id: rst-inline-touching-normal
6666

6767
- repo: https://github.com/pre-commit/mirrors-mypy
68-
rev: 0f86793af5ef5f6dc63c8d04a3cabfa3ea8f9c6a # frozen: v1.16.1
68+
rev: 9f70dc58c23dfcca1b97af99eaeee3140a807c7e # frozen: v1.18.2
6969
hooks:
7070
- id: mypy
7171
name: mypy-pathfinder

ci/tools/run-tests

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ test_module=${1}
2424
# (it is a direct dependency of bindings, and a transitive dependency of core)
2525
pushd ./cuda_pathfinder
2626
echo "Installing pathfinder wheel"
27-
pip install $(ls *.whl)[test]
27+
pip install ./*.whl --group test
2828
popd
2929

3030
if [[ "${test_module}" == "pathfinder" ]]; then
@@ -38,15 +38,13 @@ if [[ "${test_module}" == "pathfinder" ]]; then
3838
echo "Number of \"INFO test_\" lines: $line_count"
3939
popd
4040
elif [[ "${test_module}" == "bindings" ]]; then
41-
pushd "${CUDA_BINDINGS_ARTIFACTS_DIR}"
4241
echo "Installing bindings wheel"
42+
pushd ./cuda_bindings
4343
if [[ "${LOCAL_CTK}" == 1 ]]; then
44-
pip install $(ls *.whl)[test]
44+
pip install "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl --group test
4545
else
46-
pip install $(ls *.whl)[all,test]
46+
pip install $(ls "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl)[all] --group test
4747
fi
48-
popd
49-
pushd ./cuda_bindings
5048
echo "Running bindings tests"
5149
${SANITIZER_CMD} pytest -rxXs -v tests/
5250
if [[ "${SKIP_CYTHON_TEST}" == 0 ]]; then
@@ -57,33 +55,29 @@ elif [[ "${test_module}" == "core" ]]; then
5755
# If build/test majors match: cuda.bindings is installed in the previous step.
5856
# If mismatch: cuda.bindings is installed from the backport branch.
5957
if [[ "${SKIP_CUDA_BINDINGS_TEST}" == 1 ]]; then
60-
pushd "${CUDA_BINDINGS_ARTIFACTS_DIR}"
6158
echo "Installing bindings wheel"
6259
if [[ "${LOCAL_CTK}" == 1 ]]; then
63-
pip install *.whl
60+
pip install "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl
6461
else
65-
pip install $(ls *.whl)[all]
62+
pip install $(ls "${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl)[all]
6663
fi
67-
popd
6864
fi
6965
TEST_CUDA_MAJOR="$(cut -d '.' -f 1 <<< ${CUDA_VER})"
70-
pushd "${CUDA_CORE_ARTIFACTS_DIR}"
7166
echo "Installing core wheel"
7267

7368
FREE_THREADING=""
7469
if python -c 'import sys; assert not sys._is_gil_enabled()' 2> /dev/null; then
7570
FREE_THREADING+="-ft"
7671
fi
7772

73+
pushd ./cuda_core
7874
if [[ "${LOCAL_CTK}" == 1 ]]; then
7975
# We already installed cuda-bindings, and all CTK components exist locally,
8076
# so just install the test dependencies.
81-
pip install $(ls *.whl)["test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"]
77+
pip install "${CUDA_CORE_ARTIFACTS_DIR}"/*.whl --group "test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"
8278
else
83-
pip install $(ls *.whl)["cu${TEST_CUDA_MAJOR}","test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"]
79+
pip install $(ls "${CUDA_CORE_ARTIFACTS_DIR}"/*.whl)["cu${TEST_CUDA_MAJOR}"] --group "test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"
8480
fi
85-
popd
86-
pushd ./cuda_core
8781
echo "Running core tests"
8882
${SANITIZER_CMD} pytest -rxXs -v tests/
8983
# Currently our CI always installs the latest bindings (from either major version).

0 commit comments

Comments
 (0)