From 28339dbb4e38690dd4ddedf23883581b60a7a97c Mon Sep 17 00:00:00 2001 From: mmelnich Date: Thu, 13 Aug 2026 10:33:42 -0700 Subject: [PATCH] CI: fix the broken oneMKL cache path and drop a dead ctest exclusion Two independent defects, both of which fail quietly. The Windows oneMKL cache never hits. `action.yml` pointed `path` at windows-deps\onemkl-2025.2.0.627 while setup.ps1 creates onemkl-$mklVersion with $mklVersion = "2026.1.0.226" (setup.ps1:384,390). The path was left behind when the version was bumped, so it names a directory that does not exist. Nothing errors: every MKL leg re-downloads 155 MB and then saves a cache entry for a missing path, so the cache can never hit. The key already said 2026.1.0.226, so only the path needed correcting -- and a comment now records that the two must agree with setup.ps1. Every other cache path/key pair in that file was checked and is consistent. `ctest --exclude-regex "^TestABRIK\.ABRIK_catch_instability"` excludes a test that does not exist. It appears nowhere in test/ or RandLAPACK/, and `git log -S` finds no history of it there under that name, so this has always been excluding nothing. Removed from all six sites: core-linux.yaml (x2), install-script.yaml (x2), and core-macos.yaml (x2). On macOS the regex was an alternation with TestQB.Polynomial_Decay_general1, which is the real Apple Accelerate gesdd quarantine from #157. Only the dead ABRIK half is removed there; the quarantine and its loud warnings are untouched. The cost of leaving it was not the wasted filter but the misdirection: a ctest line with an exclusion in it reads as though a known failure is being hidden, which invites exactly the wrong conclusion when someone audits the suite. --- .github/actions/setup-randlapack-deps-windows/action.yml | 8 +++++++- .github/workflows/core-linux.yaml | 4 ++-- .github/workflows/core-macos.yaml | 4 ++-- .github/workflows/install-script.yaml | 2 -- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/actions/setup-randlapack-deps-windows/action.yml b/.github/actions/setup-randlapack-deps-windows/action.yml index 71f3fb8b..98e03449 100644 --- a/.github/actions/setup-randlapack-deps-windows/action.yml +++ b/.github/actions/setup-randlapack-deps-windows/action.yml @@ -26,11 +26,17 @@ runs: # install-script workflow checks this repo out under RandLAPACK\, where # the glob matches nothing and hashFiles() silently returns "" -- the two # workflows then read/write DIFFERENT caches while appearing to share. + # The version in `path` must match $mklVersion in setup.ps1, which is what + # names the directory it creates. It did not: the path still said + # 2025.2.0.627 after the bump to 2026.1.0.226, so it pointed at a directory + # that never exists. That fails quietly in the worst way -- every MKL leg + # re-downloaded 155 MB and then saved a cache entry for a missing path, so + # the cache could never hit and nothing ever reported an error. - name: cache oneMKL (NuGet) if: inputs.blas-backend == 'mkl' uses: actions/cache@v4 with: - path: ${{ github.workspace }}\..\windows-deps\onemkl-2025.2.0.627 + path: ${{ github.workspace }}\..\windows-deps\onemkl-2026.1.0.226 key: windows-nuget-intel-mkl-2026.1.0.226-r1 - name: cache OpenBLAS (release binaries) diff --git a/.github/workflows/core-linux.yaml b/.github/workflows/core-linux.yaml index 881db980..a100ceac 100644 --- a/.github/workflows/core-linux.yaml +++ b/.github/workflows/core-linux.yaml @@ -108,7 +108,7 @@ jobs: `pwd`/../RandLAPACK make -j$(nproc) make -j$(nproc) install - ctest --exclude-regex "^TestABRIK\.ABRIK_catch_instability" --output-on-failure + ctest --output-on-failure - name: build and test extras run: | @@ -208,4 +208,4 @@ jobs: `pwd`/../RandLAPACK make -j$(nproc) make -j$(nproc) install - ctest --exclude-regex "^TestABRIK\.ABRIK_catch_instability" --output-on-failure + ctest --output-on-failure diff --git a/.github/workflows/core-macos.yaml b/.github/workflows/core-macos.yaml index 2a86325e..0417b663 100644 --- a/.github/workflows/core-macos.yaml +++ b/.github/workflows/core-macos.yaml @@ -109,7 +109,7 @@ jobs: ## RUN below, so its result is not lost: if it starts PASSING, the ## ## job prints a loud warning telling you to delete this block. ## ##################################################################### - ctest --exclude-regex "^TestABRIK\.ABRIK_catch_instability|^TestQB\.Polynomial_Decay_general1" \ + ctest --exclude-regex "^TestQB\.Polynomial_Decay_general1" \ --output-on-failure echo "::warning title=TEMPORARY macOS suppression is ACTIVE::TestQB.Polynomial_Decay_general1 is quarantined (Apple Accelerate gesdd bug). REVERT once Mark has reviewed the BLAS++/LAPACK++ Accelerate migration. See docs/CI.md." if ctest --tests-regex "^TestQB\.Polynomial_Decay_general1" --output-on-failure; then @@ -228,7 +228,7 @@ jobs: ## RUN below, so its result is not lost: if it starts PASSING, the ## ## job prints a loud warning telling you to delete this block. ## ##################################################################### - ctest --exclude-regex "^TestABRIK\.ABRIK_catch_instability|^TestQB\.Polynomial_Decay_general1" \ + ctest --exclude-regex "^TestQB\.Polynomial_Decay_general1" \ --output-on-failure echo "::warning title=TEMPORARY macOS suppression is ACTIVE::TestQB.Polynomial_Decay_general1 is quarantined (Apple Accelerate gesdd bug). REVERT once Mark has reviewed the BLAS++/LAPACK++ Accelerate migration. See docs/CI.md." if ctest --tests-regex "^TestQB\.Polynomial_Decay_general1" --output-on-failure; then diff --git a/.github/workflows/install-script.yaml b/.github/workflows/install-script.yaml index d78fffd8..e69d7c2e 100644 --- a/.github/workflows/install-script.yaml +++ b/.github/workflows/install-script.yaml @@ -80,7 +80,6 @@ jobs: - name: test the installed library run: | ctest --test-dir RandNLA-project/build/RandLAPACK-build \ - --exclude-regex "^TestABRIK\.ABRIK_catch_instability" \ --output-on-failure - name: re-run the installer in place (idempotency) @@ -113,7 +112,6 @@ jobs: - name: test the installed library run: | ctest --test-dir RandNLA-project/build/RandLAPACK-build \ - --exclude-regex "^TestABRIK\.ABRIK_catch_instability" \ --output-on-failure - name: re-run the installer in place (idempotency)