diff --git a/.github/workflows/inspect-r-api-update.yml b/.github/workflows/inspect-r-api-update.yml index dc0db3d4..03f43de9 100644 --- a/.github/workflows/inspect-r-api-update.yml +++ b/.github/workflows/inspect-r-api-update.yml @@ -72,7 +72,11 @@ jobs: - name: Install Python build and test tools run: | python -m pip install -U pip - python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy + # numpy pinned <2.5: the R parity cache keys hash test inputs generated via + # multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD + # kernels differ on some runner CPUs, changing inputs bit-for-bit and causing + # cache misses. Re-evaluate at the next full live-R cache regeneration. + python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy python -m pip install hypothesis pytest-benchmark pytest-xdist - name: Plan R API parity review diff --git a/.github/workflows/native-backend-ci.yml b/.github/workflows/native-backend-ci.yml index 67f09d6f..8ed7976c 100644 --- a/.github/workflows/native-backend-ci.yml +++ b/.github/workflows/native-backend-ci.yml @@ -25,7 +25,11 @@ jobs: - name: Install build tools run: | python -m pip install -U pip - python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy + # numpy pinned <2.5: the R parity cache keys hash test inputs generated via + # multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD + # kernels differ on some runner CPUs, changing inputs bit-for-bit and causing + # cache misses. Re-evaluate at the next full live-R cache regeneration. + python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy python -m pip install hypothesis pytest-benchmark pytest-xdist - name: Install package editable diff --git a/.github/workflows/parity-autofix.yml b/.github/workflows/parity-autofix.yml index 004ad94f..861211ca 100644 --- a/.github/workflows/parity-autofix.yml +++ b/.github/workflows/parity-autofix.yml @@ -86,7 +86,11 @@ jobs: - name: Install Python build and test tools run: | python -m pip install -U pip - python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy + # numpy pinned <2.5: the R parity cache keys hash test inputs generated via + # multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD + # kernels differ on some runner CPUs, changing inputs bit-for-bit and causing + # cache misses. Re-evaluate at the next full live-R cache regeneration. + python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy python -m pip install hypothesis pytest-benchmark pytest-xdist - name: Install package editable diff --git a/.github/workflows/sync-from-nns-core.yml b/.github/workflows/sync-from-nns-core.yml index d0daa2ee..a0927c5b 100644 --- a/.github/workflows/sync-from-nns-core.yml +++ b/.github/workflows/sync-from-nns-core.yml @@ -69,7 +69,11 @@ jobs: - name: Install build tools run: | python -m pip install -U pip - python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy + # numpy pinned <2.5: the R parity cache keys hash test inputs generated via + # multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD + # kernels differ on some runner CPUs, changing inputs bit-for-bit and causing + # cache misses. Re-evaluate at the next full live-R cache regeneration. + python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy python -m pip install hypothesis pytest-benchmark pytest-xdist - name: Vendor NNS-core snapshot