Skip to content

Commit 1542fca

Browse files
Merge pull request #77 from OVVO-Financial/ci-pin-numpy
CI: pin numpy<2.5 to keep R parity cache keys stable
2 parents e344317 + 21886cc commit 1542fca

4 files changed

Lines changed: 20 additions & 4 deletions

File tree

.github/workflows/inspect-r-api-update.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@ jobs:
7272
- name: Install Python build and test tools
7373
run: |
7474
python -m pip install -U pip
75-
python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy
75+
# numpy pinned <2.5: the R parity cache keys hash test inputs generated via
76+
# multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD
77+
# kernels differ on some runner CPUs, changing inputs bit-for-bit and causing
78+
# cache misses. Re-evaluate at the next full live-R cache regeneration.
79+
python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy
7680
python -m pip install hypothesis pytest-benchmark pytest-xdist
7781
7882
- name: Plan R API parity review

.github/workflows/native-backend-ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ jobs:
2525
- name: Install build tools
2626
run: |
2727
python -m pip install -U pip
28-
python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy
28+
# numpy pinned <2.5: the R parity cache keys hash test inputs generated via
29+
# multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD
30+
# kernels differ on some runner CPUs, changing inputs bit-for-bit and causing
31+
# cache misses. Re-evaluate at the next full live-R cache regeneration.
32+
python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy
2933
python -m pip install hypothesis pytest-benchmark pytest-xdist
3034
3135
- name: Install package editable

.github/workflows/parity-autofix.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ jobs:
8686
- name: Install Python build and test tools
8787
run: |
8888
python -m pip install -U pip
89-
python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy
89+
# numpy pinned <2.5: the R parity cache keys hash test inputs generated via
90+
# multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD
91+
# kernels differ on some runner CPUs, changing inputs bit-for-bit and causing
92+
# cache misses. Re-evaluate at the next full live-R cache regeneration.
93+
python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy
9094
python -m pip install hypothesis pytest-benchmark pytest-xdist
9195
9296
- name: Install package editable

.github/workflows/sync-from-nns-core.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ jobs:
6969
- name: Install build tools
7070
run: |
7171
python -m pip install -U pip
72-
python -m pip install build scikit-build-core nanobind pytest ruff mypy numpy scipy
72+
# numpy pinned <2.5: the R parity cache keys hash test inputs generated via
73+
# multivariate_normal (LAPACK SVD). numpy 2.5.x bundles an OpenBLAS whose SVD
74+
# kernels differ on some runner CPUs, changing inputs bit-for-bit and causing
75+
# cache misses. Re-evaluate at the next full live-R cache regeneration.
76+
python -m pip install build scikit-build-core nanobind pytest ruff mypy "numpy<2.5" scipy
7377
python -m pip install hypothesis pytest-benchmark pytest-xdist
7478
7579
- name: Vendor NNS-core snapshot

0 commit comments

Comments
 (0)