Skip to content

Commit 4e61c87

Browse files
committed
Changing CI to account for BLAS requiring MSRV > 1.64
1 parent 9c703ac commit 4e61c87

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

.github/workflows/ci.yaml

+14
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,20 @@ jobs:
8888
run: sudo apt-get install libopenblas-dev gfortran
8989
- run: ./scripts/all-tests.sh "$FEATURES" ${{ matrix.rust }}
9090

91+
blas-msrv:
92+
runs-on: ubuntu-latest
93+
name: blas-msrv
94+
steps:
95+
- uses: actions/checkout@v4
96+
- uses: dtolnay/rust-toolchain@master
97+
with:
98+
toolchain: 1.67.0 # BLAS MSRV
99+
- uses: rui314/setup-mold@v1
100+
- uses: Swatinem/rust-cache@v2
101+
- name: Install openblas
102+
run: sudo apt-get install libopenblas-dev gfortran
103+
- run: ./scripts/blas-integ-tests.sh "$FEATURES" 1.67.0
104+
91105
miri:
92106
runs-on: ubuntu-latest
93107
name: miri

README.rst

+8
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,14 @@ there is no tight coupling to the ``blas-src`` version, so version selection is
156156
0.13 0.2.0 0.6.0
157157
=========== ============ ================ ==============
158158

159+
------------
160+
BLAS on MSRV
161+
------------
162+
163+
Although ``ndarray`` currently maintains an MSRV of 1.64.0, this is separate from the MSRV (either stated or real) of the various BLAS providers.
164+
As of the time of writing, ``openblas`` currently supports MSRV of 1.67.0.
165+
So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.67.0 or above.
166+
159167
Recent Changes
160168
--------------
161169

scripts/all-tests.sh

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ cargo test -v -p ndarray -p ndarray-rand --release --features "$FEATURES" $QC_FE
2323
# BLAS tests
2424
cargo test -p ndarray --lib -v --features blas
2525
cargo test -p blas-mock-tests -v
26-
cargo test -p blas-tests -v --features blas-tests/openblas-system
27-
cargo test -p numeric-tests -v --features numeric-tests/test_blas
26+
if [ "$CHANNEL" != "1.64.0" ]; then
27+
./scripts/blas-integ-tests.sh "$FEATURES" $CHANNEL
28+
fi
2829

2930
# Examples
3031
cargo test --examples

scripts/blas-integ-tests.sh

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/sh
2+
3+
set -x
4+
set -e
5+
6+
FEATURES=$1
7+
CHANNEL=$2
8+
9+
# BLAS tests
10+
cargo test -p blas-tests -v --features blas-tests/openblas-system
11+
cargo test -p numeric-tests -v --features numeric-tests/test_blas

0 commit comments

Comments
 (0)