Skip to content

Commit

Permalink
Changing CI to account for BLAS requiring MSRV > 1.64
Browse files Browse the repository at this point in the history
  • Loading branch information
akern40 committed Nov 30, 2024
1 parent 6bd1dd9 commit 0898d08
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
14 changes: 14 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,20 @@ jobs:
run: sudo apt-get install libopenblas-dev gfortran
- run: ./scripts/all-tests.sh "$FEATURES" ${{ matrix.rust }}

blas-msrv:
runs-on: ubuntu-latest
name: blas-msrv
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0 # BLAS MSRV
- uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
- name: Install openblas
run: sudo apt-get install libopenblas-dev gfortran
- run: ./scripts/blas-integ-tests.sh "$FEATURES" 1.67.0

miri:
runs-on: ubuntu-latest
name: miri
Expand Down
8 changes: 8 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,14 @@ there is no tight coupling to the ``blas-src`` version, so version selection is
0.13 0.2.0 0.6.0
=========== ============ ================ ==============

------------
BLAS on MSRV
------------

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.
As of the time of writing, ``openblas`` currently supports MSRV of 1.67.0.
So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.67.0 or above.

Recent Changes
--------------

Expand Down
5 changes: 3 additions & 2 deletions scripts/all-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ cargo test -v -p ndarray -p ndarray-rand --release --features "$FEATURES" $QC_FE
# BLAS tests
cargo test -p ndarray --lib -v --features blas
cargo test -p blas-mock-tests -v
cargo test -p blas-tests -v --features blas-tests/openblas-system
cargo test -p numeric-tests -v --features numeric-tests/test_blas
if [ "$CHANNEL" != "1.64.0" ]; then
./scripts/blas-integ-tests.sh "$FEATURES" $CHANNEL
fi

# Examples
cargo test --examples
Expand Down
11 changes: 11 additions & 0 deletions scripts/blas-integ-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/sh

set -x
set -e

FEATURES=$1
CHANNEL=$2

# BLAS tests
cargo test -p blas-tests -v --features blas-tests/openblas-system
cargo test -p numeric-tests -v --features numeric-tests/test_blas

0 comments on commit 0898d08

Please sign in to comment.