From 5bca2147b0e0090ed7640322b37caa06354edb65 Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Sun, 15 Dec 2024 23:08:31 -0500 Subject: [PATCH 01/12] Bumps MSRV testing on BLAS to 1.71 Closes #1464 --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c910b32e0..f7f815910 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -95,7 +95,7 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.67.0 # BLAS MSRV + toolchain: 1.71.0 # BLAS MSRV - uses: rui314/setup-mold@v1 - uses: Swatinem/rust-cache@v2 - name: Install openblas From ea31bbfc80c5e29c1cd7b2f0906acb9041cfaced Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Sun, 15 Dec 2024 23:12:22 -0500 Subject: [PATCH 02/12] Adds bump to another place in CI yaml and in README --- .github/workflows/ci.yaml | 2 +- README.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f7f815910..b8526e51a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -100,7 +100,7 @@ jobs: - 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 + - run: ./scripts/blas-integ-tests.sh "$FEATURES" 1.71.0 miri: runs-on: ubuntu-latest diff --git a/README.rst b/README.rst index ef6577f13..3d0567639 100644 --- a/README.rst +++ b/README.rst @@ -161,8 +161,8 @@ 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. +As of the time of writing, ``openblas`` currently supports MSRV of 1.71.0. +So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.71.0 or above. Recent Changes -------------- From f5def9865e6de66ae20bf3e4611c00aee1f5d59c Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Sun, 15 Dec 2024 23:14:09 -0500 Subject: [PATCH 03/12] Whoops, it's 1.71.1 --- .github/workflows/ci.yaml | 4 ++-- README.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b8526e51a..c12382925 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -95,12 +95,12 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.71.0 # BLAS MSRV + toolchain: 1.71.1 # 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.71.0 + - run: ./scripts/blas-integ-tests.sh "$FEATURES" 1.71.1 miri: runs-on: ubuntu-latest diff --git a/README.rst b/README.rst index 3d0567639..49558b1c1 100644 --- a/README.rst +++ b/README.rst @@ -161,8 +161,8 @@ 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.71.0. -So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.71.0 or above. +As of the time of writing, ``openblas`` currently supports MSRV of 1.71.1. +So, while ``ndarray`` and ``openblas-src`` are compatible, they can only work together with toolchains 1.71.1 or above. Recent Changes -------------- From d08e496b790c5fa183ea3a803a6e9744b15e5d41 Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Sun, 15 Dec 2024 23:53:59 -0500 Subject: [PATCH 04/12] Locks openblas-src to 0.10.9 --- .github/workflows/ci.yaml | 2 +- crates/blas-tests/Cargo.toml | 2 +- crates/numeric-tests/Cargo.toml | 2 +- scripts/blas-integ-tests.sh | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c12382925..1acf06424 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -100,7 +100,7 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: Install openblas run: sudo apt-get install libopenblas-dev gfortran - - run: ./scripts/blas-integ-tests.sh "$FEATURES" 1.71.1 + - run: ./scripts/blas-integ-tests.sh 1.71.1 miri: runs-on: ubuntu-latest diff --git a/crates/blas-tests/Cargo.toml b/crates/blas-tests/Cargo.toml index 05a656000..c652f3060 100644 --- a/crates/blas-tests/Cargo.toml +++ b/crates/blas-tests/Cargo.toml @@ -15,7 +15,7 @@ ndarray = { workspace = true, features = ["approx", "blas"] } ndarray-gen = { workspace = true } blas-src = { version = "0.10", optional = true } -openblas-src = { version = "0.10", optional = true } +openblas-src = { version = "=0.10.9", optional = true } netlib-src = { version = "0.8", optional = true } blis-src = { version = "0.2", features = ["system"], optional = true } diff --git a/crates/numeric-tests/Cargo.toml b/crates/numeric-tests/Cargo.toml index 214612258..c2e6aa1f2 100644 --- a/crates/numeric-tests/Cargo.toml +++ b/crates/numeric-tests/Cargo.toml @@ -19,7 +19,7 @@ rand = { workspace = true } rand_distr = { workspace = true } blas-src = { optional = true, version = "0.10", default-features = false, features = ["openblas"] } -openblas-src = { optional = true, version = "0.10", default-features = false, features = ["cblas", "system"] } +openblas-src = { optional = true, version = "=0.10.9", default-features = false, features = ["cblas", "system"] } [dev-dependencies] num-traits = { workspace = true } diff --git a/scripts/blas-integ-tests.sh b/scripts/blas-integ-tests.sh index 5192d67e3..ebbadacd3 100755 --- a/scripts/blas-integ-tests.sh +++ b/scripts/blas-integ-tests.sh @@ -3,7 +3,6 @@ set -x set -e -FEATURES=$1 CHANNEL=$2 # BLAS tests From 80fc9f9f6fc5c26f289d4cdd791650a7d242db9f Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Mon, 16 Dec 2024 00:09:18 -0500 Subject: [PATCH 05/12] Messed up the inputs to blas-integ-tests --- scripts/blas-integ-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/blas-integ-tests.sh b/scripts/blas-integ-tests.sh index ebbadacd3..fec938b83 100755 --- a/scripts/blas-integ-tests.sh +++ b/scripts/blas-integ-tests.sh @@ -3,7 +3,7 @@ set -x set -e -CHANNEL=$2 +CHANNEL=$1 # BLAS tests cargo test -p blas-tests -v --features blas-tests/openblas-system From 14c1db19169cd294357881a848ff72b22addd155 Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Mon, 16 Dec 2024 00:11:03 -0500 Subject: [PATCH 06/12] Nope, it's 1.76 --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1acf06424..56f4324d1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -95,12 +95,12 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.71.1 # BLAS MSRV + toolchain: 1.76.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 1.71.1 + - run: ./scripts/blas-integ-tests.sh 1.76.0 miri: runs-on: ubuntu-latest From e0e73a8b798cca4d0b38e3ae2fcba5361231629a Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Mon, 16 Dec 2024 00:22:21 -0500 Subject: [PATCH 07/12] Debugging with cargo tree --- .github/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 56f4324d1..6c4b6715c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -100,6 +100,8 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: Install openblas run: sudo apt-get install libopenblas-dev gfortran + - run: cargo tree -p blas-tests -i openblas-src -F blas-tests/openblas-system + - run: cargo tree -p blas-tests -i openblas-build -F blas-tests/openblas-system - run: ./scripts/blas-integ-tests.sh 1.76.0 miri: From bb0e2319e1194b38d68fd971b7d061feed69a20a Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Mon, 16 Dec 2024 00:27:34 -0500 Subject: [PATCH 08/12] Trying to pin openblas-build --- crates/blas-tests/Cargo.toml | 1 + crates/numeric-tests/Cargo.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/crates/blas-tests/Cargo.toml b/crates/blas-tests/Cargo.toml index c652f3060..aa6bc9d22 100644 --- a/crates/blas-tests/Cargo.toml +++ b/crates/blas-tests/Cargo.toml @@ -18,6 +18,7 @@ blas-src = { version = "0.10", optional = true } openblas-src = { version = "=0.10.9", optional = true } netlib-src = { version = "0.8", optional = true } blis-src = { version = "0.2", features = ["system"], optional = true } +openblas-build = "=0.10.9" [dev-dependencies] defmac = "0.2" diff --git a/crates/numeric-tests/Cargo.toml b/crates/numeric-tests/Cargo.toml index c2e6aa1f2..8d8882261 100644 --- a/crates/numeric-tests/Cargo.toml +++ b/crates/numeric-tests/Cargo.toml @@ -20,6 +20,7 @@ rand_distr = { workspace = true } blas-src = { optional = true, version = "0.10", default-features = false, features = ["openblas"] } openblas-src = { optional = true, version = "=0.10.9", default-features = false, features = ["cblas", "system"] } +openblas-build = "=0.10.9" [dev-dependencies] num-traits = { workspace = true } From 3f57201cd51c94b05931dbe175956777b621df53 Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Mon, 16 Dec 2024 00:30:28 -0500 Subject: [PATCH 09/12] Bumps main MSRV to 1.67 --- .github/workflows/ci.yaml | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6c4b6715c..89aa845d9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -74,7 +74,7 @@ jobs: - stable - beta - nightly - - 1.64.0 # MSRV + - 1.67.0 # MSRV name: tests/${{ matrix.rust }} steps: diff --git a/Cargo.toml b/Cargo.toml index 5c7217025..08d36aaff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "ndarray" version = "0.16.1" edition = "2018" -rust-version = "1.64" +rust-version = "1.67" authors = [ "Ulrik Sverdrup \"bluss\"", "Jim Turner" From 3a8633123c9daf4647b90d789f8e82c2dedd6b7d Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Mon, 16 Dec 2024 00:41:05 -0500 Subject: [PATCH 10/12] MSRV 1.64, but only test ndarray and ndarray-rand in initial build --- .github/workflows/ci.yaml | 4 +++- Cargo.toml | 2 +- scripts/all-tests.sh | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 89aa845d9..0394bd578 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,6 +12,8 @@ env: HOST: x86_64-unknown-linux-gnu FEATURES: "test docs" RUSTFLAGS: "-D warnings" + MSRV: 1.64.0 + BLAS_MSRV: 1.76.0 jobs: clippy: @@ -74,7 +76,7 @@ jobs: - stable - beta - nightly - - 1.67.0 # MSRV + - 1.64.0 # MSRV name: tests/${{ matrix.rust }} steps: diff --git a/Cargo.toml b/Cargo.toml index 08d36aaff..5c7217025 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "ndarray" version = "0.16.1" edition = "2018" -rust-version = "1.67" +rust-version = "1.64" authors = [ "Ulrik Sverdrup \"bluss\"", "Jim Turner" diff --git a/scripts/all-tests.sh b/scripts/all-tests.sh index e98b90df1..faa6bd53f 100755 --- a/scripts/all-tests.sh +++ b/scripts/all-tests.sh @@ -9,7 +9,7 @@ CHANNEL=$2 QC_FEAT=--features=ndarray-rand/quickcheck # build check with no features -cargo build -v --no-default-features +cargo build -p ndarray -p ndarray-rand -v --no-default-features # ndarray with no features cargo test -p ndarray -v --no-default-features From db95d14d1ab26b573323205846da97ec86a31b42 Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Thu, 19 Dec 2024 17:51:08 -0800 Subject: [PATCH 11/12] Moves openblas to 0.10.11 for MSRV 1.71.1 --- .github/workflows/ci.yaml | 6 +++--- crates/blas-tests/Cargo.toml | 3 +-- crates/numeric-tests/Cargo.toml | 3 +-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0394bd578..ae74aeb45 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,7 +13,7 @@ env: FEATURES: "test docs" RUSTFLAGS: "-D warnings" MSRV: 1.64.0 - BLAS_MSRV: 1.76.0 + BLAS_MSRV: 1.71.1 jobs: clippy: @@ -97,14 +97,14 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.76.0 # BLAS MSRV + toolchain: 1.71.1 # BLAS MSRV - uses: rui314/setup-mold@v1 - uses: Swatinem/rust-cache@v2 - name: Install openblas run: sudo apt-get install libopenblas-dev gfortran - run: cargo tree -p blas-tests -i openblas-src -F blas-tests/openblas-system - run: cargo tree -p blas-tests -i openblas-build -F blas-tests/openblas-system - - run: ./scripts/blas-integ-tests.sh 1.76.0 + - run: ./scripts/blas-integ-tests.sh $BLAS_MSRV miri: runs-on: ubuntu-latest diff --git a/crates/blas-tests/Cargo.toml b/crates/blas-tests/Cargo.toml index aa6bc9d22..ff556873a 100644 --- a/crates/blas-tests/Cargo.toml +++ b/crates/blas-tests/Cargo.toml @@ -15,10 +15,9 @@ ndarray = { workspace = true, features = ["approx", "blas"] } ndarray-gen = { workspace = true } blas-src = { version = "0.10", optional = true } -openblas-src = { version = "=0.10.9", optional = true } +openblas-src = { version = ">=0.10.11", optional = true } netlib-src = { version = "0.8", optional = true } blis-src = { version = "0.2", features = ["system"], optional = true } -openblas-build = "=0.10.9" [dev-dependencies] defmac = "0.2" diff --git a/crates/numeric-tests/Cargo.toml b/crates/numeric-tests/Cargo.toml index 8d8882261..93a182e66 100644 --- a/crates/numeric-tests/Cargo.toml +++ b/crates/numeric-tests/Cargo.toml @@ -19,8 +19,7 @@ rand = { workspace = true } rand_distr = { workspace = true } blas-src = { optional = true, version = "0.10", default-features = false, features = ["openblas"] } -openblas-src = { optional = true, version = "=0.10.9", default-features = false, features = ["cblas", "system"] } -openblas-build = "=0.10.9" +openblas-src = { optional = true, version = ">=0.10.11", default-features = false, features = ["cblas", "system"] } [dev-dependencies] num-traits = { workspace = true } From 2565afebaa2eb193867ce4f6c9b17569f2b9f3e1 Mon Sep 17 00:00:00 2001 From: Adam Kern Date: Thu, 19 Dec 2024 18:51:39 -0800 Subject: [PATCH 12/12] Reverting; the build command shouldn't need package specifications --- scripts/all-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/all-tests.sh b/scripts/all-tests.sh index faa6bd53f..e98b90df1 100755 --- a/scripts/all-tests.sh +++ b/scripts/all-tests.sh @@ -9,7 +9,7 @@ CHANNEL=$2 QC_FEAT=--features=ndarray-rand/quickcheck # build check with no features -cargo build -p ndarray -p ndarray-rand -v --no-default-features +cargo build -v --no-default-features # ndarray with no features cargo test -p ndarray -v --no-default-features