From b3c14dcd3138e2a7d935b112da1b665cf23bbc7a Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Thu, 26 Mar 2026 08:16:17 -0700 Subject: [PATCH 1/3] Remove free-threaded Python workaround, verify LongPathsEnabled The CI runners now have LongPathsEnabled=1 (nv-gha-runners/vm-images#241), so remove the skip of pip install and all_must_work tests for py3.14t on Windows. Add a fail-early step to catch runners that lack the setting. Closes #1820 Made-with: Cursor --- .github/workflows/test-wheel-windows.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-wheel-windows.yml b/.github/workflows/test-wheel-windows.yml index 9022be4def..fbe8bad1a5 100644 --- a/.github/workflows/test-wheel-windows.yml +++ b/.github/workflows/test-wheel-windows.yml @@ -208,6 +208,15 @@ jobs: with: python-version: ${{ matrix.PY_VER }} + - name: Verify LongPathsEnabled + run: | + $val = (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled').LongPathsEnabled + echo "LongPathsEnabled = $val" + if ($val -ne 1) { + echo "::error::LongPathsEnabled is not set to 1 (see issue #1820)" + exit 1 + } + - name: Set up mini CTK if: ${{ matrix.LOCAL_CTK == '1' }} uses: ./.github/actions/fetch_ctk @@ -263,7 +272,6 @@ jobs: } - name: Install cuda.pathfinder extra wheels for testing - if: ${{ !endsWith(matrix.PY_VER, 't') }} # see issue #1820 shell: bash --noprofile --norc -xeuo pipefail {0} run: | pushd cuda_pathfinder @@ -272,7 +280,6 @@ jobs: popd - name: Run cuda.pathfinder tests with all_must_work - if: ${{ !endsWith(matrix.PY_VER, 't') }} # see issue #1820 env: CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS: all_must_work CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS: all_must_work From a92790ae82607a3e9b7eb90c2259a1bdbf26f7f5 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Thu, 26 Mar 2026 08:23:39 -0700 Subject: [PATCH 2/3] TEMPORARY: restrict CI to Windows 3.14t jobs only Disable Linux builds/tests and docs, filter Windows test matrix to py3.14t to verify LongPathsEnabled fix in isolation. Revert before merge. Made-with: Cursor --- .github/workflows/build-wheel.yml | 11 ++++++----- .github/workflows/ci.yml | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-wheel.yml b/.github/workflows/build-wheel.yml index 2a227d4ee9..d0451357ee 100644 --- a/.github/workflows/build-wheel.yml +++ b/.github/workflows/build-wheel.yml @@ -28,11 +28,12 @@ jobs: fail-fast: false matrix: python-version: - - "3.10" - - "3.11" - - "3.12" - - "3.13" - - "3.14" + # TEMPORARY: only building 3.14t to verify LongPathsEnabled + # - "3.10" + # - "3.11" + # - "3.12" + # - "3.13" + # - "3.14" - "3.14t" name: py${{ matrix.python-version }} runs-on: ${{ (inputs.host-platform == 'linux-64' && 'linux-amd64-cpu8') || diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b7e0c65224..b3bf643558 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -106,7 +106,7 @@ jobs: host-platform: - linux-aarch64 name: Build ${{ matrix.host-platform }}, CUDA ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }} - if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.skip) && !fromJSON(needs.should-skip.outputs.doc-only) }} + if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t secrets: inherit uses: ./.github/workflows/build-wheel.yml with: @@ -145,7 +145,7 @@ jobs: host-platform: - linux-64 name: Test ${{ matrix.host-platform }} - if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.doc-only) }} + if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t permissions: contents: read # This is required for actions/checkout needs: @@ -168,7 +168,7 @@ jobs: host-platform: - linux-aarch64 name: Test ${{ matrix.host-platform }} - if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.doc-only) }} + if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t permissions: contents: read # This is required for actions/checkout needs: @@ -204,11 +204,12 @@ jobs: build-type: pull-request host-platform: ${{ matrix.host-platform }} build-ctk-ver: ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }} + matrix_filter: 'map(select(.PY_VER == "3.14t"))' # TEMPORARY: only testing Windows 3.14t nruns: ${{ (github.event_name == 'schedule' && 100) || 1}} doc: name: Docs - if: ${{ github.repository_owner == 'nvidia' }} + if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: id-token: write From 78af2e7e7e21e57741ae945fce8df18843b2cd28 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Thu, 26 Mar 2026 10:06:04 -0700 Subject: [PATCH 3/3] Revert "TEMPORARY: restrict CI to Windows 3.14t jobs only" This reverts commit a92790ae82607a3e9b7eb90c2259a1bdbf26f7f5. --- .github/workflows/build-wheel.yml | 11 +++++------ .github/workflows/ci.yml | 9 ++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-wheel.yml b/.github/workflows/build-wheel.yml index d0451357ee..2a227d4ee9 100644 --- a/.github/workflows/build-wheel.yml +++ b/.github/workflows/build-wheel.yml @@ -28,12 +28,11 @@ jobs: fail-fast: false matrix: python-version: - # TEMPORARY: only building 3.14t to verify LongPathsEnabled - # - "3.10" - # - "3.11" - # - "3.12" - # - "3.13" - # - "3.14" + - "3.10" + - "3.11" + - "3.12" + - "3.13" + - "3.14" - "3.14t" name: py${{ matrix.python-version }} runs-on: ${{ (inputs.host-platform == 'linux-64' && 'linux-amd64-cpu8') || diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b3bf643558..b7e0c65224 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -106,7 +106,7 @@ jobs: host-platform: - linux-aarch64 name: Build ${{ matrix.host-platform }}, CUDA ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }} - if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t + if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.skip) && !fromJSON(needs.should-skip.outputs.doc-only) }} secrets: inherit uses: ./.github/workflows/build-wheel.yml with: @@ -145,7 +145,7 @@ jobs: host-platform: - linux-64 name: Test ${{ matrix.host-platform }} - if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t + if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.doc-only) }} permissions: contents: read # This is required for actions/checkout needs: @@ -168,7 +168,7 @@ jobs: host-platform: - linux-aarch64 name: Test ${{ matrix.host-platform }} - if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t + if: ${{ github.repository_owner == 'nvidia' && !fromJSON(needs.should-skip.outputs.doc-only) }} permissions: contents: read # This is required for actions/checkout needs: @@ -204,12 +204,11 @@ jobs: build-type: pull-request host-platform: ${{ matrix.host-platform }} build-ctk-ver: ${{ needs.ci-vars.outputs.CUDA_BUILD_VER }} - matrix_filter: 'map(select(.PY_VER == "3.14t"))' # TEMPORARY: only testing Windows 3.14t nruns: ${{ (github.event_name == 'schedule' && 100) || 1}} doc: name: Docs - if: github.event_name == 'TEMPORARY_DISABLED' # TEMPORARY: only testing Windows 3.14t + if: ${{ github.repository_owner == 'nvidia' }} # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: id-token: write