@@ -15,104 +15,51 @@ env:
1515 HOST : x86_64-unknown-linux-gnu
1616 FEATURES : " approx,serde,rayon"
1717 RUSTFLAGS : " -D warnings -C target-cpu=x86-64-v3"
18- MSRV : 1.64.0
19- BLAS_MSRV : 1.71.1
2018
2119jobs :
22- pass-msrv :
23- runs-on : ubuntu-latest
24- name : Pass MSRV values to other jobs
25- outputs :
26- MSRV : ${{ env.MSRV }}
27- BLAS_MSRV : ${{ env.BLAS_MSRV }}
28- steps :
29- - name : Pass MSRV
30- run : |
31- echo "MSRV=${{ env.MSRV }}" >> $GITHUB_OUTPUT
32- echo "BLAS_MSRV=${{ env.BLAS_MSRV }}" >> $GITHUB_OUTPUT
33-
3420 clippy :
3521 runs-on : ubuntu-latest
36- strategy :
37- matrix :
38- rust :
39- - stable
40- name : clippy/${{ matrix.rust }}
22+ name : clippy/1.94.0
4123 steps :
4224 - uses : actions/checkout@v4
43- - uses : dtolnay/rust-toolchain@master
44- with :
45- toolchain : ${{ matrix.rust }}
46- components : clippy
47- # rust-toolchain.toml pins 1.94.0 — install clippy for that toolchain too,
48- # since dtolnay/rust-toolchain only installs for the requested matrix value.
49- - run : rustup component add clippy --toolchain 1.94.0 || true
5025 - uses : Swatinem/rust-cache@v2
5126 - run : cargo clippy --features approx,serde,rayon -- -D warnings
5227 - run : cargo clippy --features native -- -D warnings
5328
5429 format :
5530 runs-on : ubuntu-latest
56- name : format/stable
31+ name : format/1.94.0
5732 steps :
5833 - uses : actions/checkout@v4
59- - uses : dtolnay/rust-toolchain@stable
60- with :
61- components : rustfmt
62- # rust-toolchain.toml pins 1.94.0 — install rustfmt for that toolchain too.
63- - run : rustup component add rustfmt --toolchain 1.94.0 || true
6434 - run : cargo fmt --all --check
6535
6636 nostd :
6737 runs-on : ubuntu-latest
68- continue-on-error : ${{ matrix.experimental }}
69- strategy :
70- matrix :
71- include :
72- - rust : stable
73- experimental : false
74- target : thumbv6m-none-eabi
75-
76- name : nostd/${{ matrix.target }}/${{ matrix.rust }}
38+ name : nostd/thumbv6m-none-eabi/1.94.0
7739 steps :
7840 - uses : actions/checkout@v4
79- - uses : dtolnay/rust-toolchain@stable
80- with :
81- toolchain : ${{ matrix.rust }}
82- targets : ${{ matrix.target }}
83- - name : Tests
41+ - run : rustup target add thumbv6m-none-eabi
42+ - name : Build no_std
8443 run : |
85- cargo rustc "--target=${{ matrix.target }} " --no-default-features --features portable-atomic-critical-section
44+ cargo rustc "--target=thumbv6m-none-eabi " --no-default-features --features portable-atomic-critical-section
8645
8746 tests :
8847 runs-on : ubuntu-latest
89- needs : pass-msrv
90- strategy :
91- matrix :
92- rust :
93- - stable
94- - beta
95- - ${{ needs.pass-msrv.outputs.MSRV }}
96-
97- name : tests/${{ matrix.rust }}
48+ name : tests/1.94.0
9849 steps :
9950 - uses : actions/checkout@v4
100- - uses : dtolnay/rust-toolchain@master
101- with :
102- toolchain : ${{ matrix.rust }}
10351 - uses : rui314/setup-mold@v1
10452 - uses : Swatinem/rust-cache@v2
10553 - uses : taiki-e/install-action@nextest
10654 - name : Install openblas
10755 run : sudo apt-get install libopenblas-dev gfortran
108- - run : ./scripts/all-tests.sh "$FEATURES" ${{ matrix.rust }}
109-
56+ - run : ./scripts/all-tests.sh "$FEATURES" 1.94.0
57+
11058 native-backend :
11159 runs-on : ubuntu-latest
112- name : native-backend/stable
60+ name : native-backend/1.94.0
11361 steps :
11462 - uses : actions/checkout@v4
115- - uses : dtolnay/rust-toolchain@stable
11663 - uses : Swatinem/rust-cache@v2
11764 - uses : taiki-e/install-action@nextest
11865 - name : Build native backend
@@ -122,21 +69,17 @@ jobs:
12269 - name : Test native + approx
12370 run : cargo nextest run -p ndarray --features native,approx
12471
125- blas-msrv :
72+ blas-integ :
12673 runs-on : ubuntu-latest
127- name : blas-msrv
128- needs : pass-msrv
74+ name : blas-integ/1.94.0
12975 steps :
13076 - uses : actions/checkout@v4
131- - uses : dtolnay/rust-toolchain@master
132- with :
133- toolchain : ${{ needs.pass-msrv.outputs.BLAS_MSRV }}
13477 - uses : rui314/setup-mold@v1
13578 - uses : Swatinem/rust-cache@v2
13679 - uses : taiki-e/install-action@nextest
13780 - name : Install openblas
13881 run : sudo apt-get install libopenblas-dev gfortran
139- - run : ./scripts/blas-integ-tests.sh $BLAS_MSRV
82+ - run : ./scripts/blas-integ-tests.sh 1.94.0
14083
14184 miri :
14285 # Nightly-only. Cannot run SIMD intrinsics or FFI.
@@ -154,28 +97,22 @@ jobs:
15497 - run : ./scripts/miri-tests.sh
15598
15699 cross_test :
157- # if: ${{ github.event_name == 'merge_group' }}
158100 runs-on : ubuntu-latest
159101 strategy :
160102 matrix :
161103 include :
162- - rust : stable
163- target : s390x-unknown-linux-gnu
164- - rust : stable
165- target : i686-unknown-linux-gnu
104+ - target : s390x-unknown-linux-gnu
105+ - target : i686-unknown-linux-gnu
166106
167- name : cross_test/${{ matrix.target }}/${{ matrix.rust }}
107+ name : cross_test/${{ matrix.target }}/1.94.0
168108 steps :
169109 - uses : actions/checkout@v4
170- - uses : dtolnay/rust-toolchain@master
171- with :
172- toolchain : ${{ matrix.rust }}
173- targets : ${{ matrix.target }}
110+ - run : rustup target add ${{ matrix.target }}
174111 - uses : rui314/setup-mold@v1
175112 - uses : Swatinem/rust-cache@v2
176113 - name : Install cross
177114 run : cargo install cross
178- - run : ./scripts/cross-tests.sh "approx,serde,rayon" ${{ matrix.rust }} ${{ matrix.target }}
115+ - run : ./scripts/cross-tests.sh "approx,serde,rayon" 1.94.0 ${{ matrix.target }}
179116
180117 cargo-careful :
181118 # Nightly-only. Only runs on merge queue / push — never blocks PR checks.
@@ -210,6 +147,7 @@ jobs:
210147 - nostd
211148 - tests
212149 - native-backend
150+ - blas-integ
213151 - miri
214152 - cross_test
215153 - cargo-careful
0 commit comments