Skip to content

Commit

Permalink
Merge branch 'master' into feature/track-callers
Browse files Browse the repository at this point in the history
  • Loading branch information
bluss committed Mar 10, 2024
2 parents 6a62c2e + cd0a956 commit db87903
Show file tree
Hide file tree
Showing 106 changed files with 7,417 additions and 1,954 deletions.
103 changes: 103 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
on:
pull_request:
merge_group:

name: Continuous integration

env:
CARGO_TERM_COLOR: always
HOST: x86_64-unknown-linux-gnu
FEATURES: "test docs"
RUSTFLAGS: "-D warnings"

jobs:
clippy:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- beta
name: clippy/${{ matrix.rust }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --features docs
tests:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
- 1.57.0 # MSRV

name: tests/${{ matrix.rust }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@v2
- name: Install openblas
run: sudo apt-get install libopenblas-dev gfortran
- run: ./scripts/all-tests.sh "$FEATURES" ${{ matrix.rust }}

cross_test:
if: ${{ github.event_name == 'merge_group' }}
runs-on: ubuntu-latest
strategy:
matrix:
include:
- rust: stable
target: s390x-unknown-linux-gnu
- rust: stable
target: i686-unknown-linux-gnu

name: cross_test/${{ matrix.target }}/${{ matrix.rust }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
targets: ${{ matrix.target }}
- uses: Swatinem/rust-cache@v2
- name: Install cross
run: cargo install cross
- run: ./scripts/cross-tests.sh "docs" ${{ matrix.rust }} ${{ matrix.target }}

cargo-careful:
if: ${{ github.event_name == 'merge_group' }}
runs-on: ubuntu-latest
name: cargo-careful
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- uses: Swatinem/rust-cache@v2
- name: Install cargo-careful
run: cargo install cargo-careful
- run: cargo careful test -Zcareful-sanitizer --features="$FEATURES"
- run: cargo careful test -Zcareful-sanitizer -p ndarray-rand

conclusion:
needs:
- clippy
- tests
- cross_test
- cargo-careful
if: always()
runs-on: ubuntu-latest
steps:
- name: Result
run: |
jq -C <<< "${needs}"
# Check if all needs were successful or skipped.
"$(jq -r 'all(.result as $result | (["success", "skipped"] | contains([$result])))' <<< "${needs}")"
env:
needs: ${{ toJson(needs) }}
79 changes: 0 additions & 79 deletions .github/workflows/ci.yml

This file was deleted.

20 changes: 12 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
[package]

name = "ndarray"
version = "0.15.1"
version = "0.15.6"
edition = "2018"
rust-version = "1.57"
authors = [
"bluss",
"Ulrik Sverdrup \"bluss\"",
"Jim Turner"
]
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -34,19 +35,20 @@ num-complex = { version = "0.4", default-features = false }
rayon_ = { version = "1.0.3", optional = true, package = "rayon" }

approx = { version = "0.4", optional = true , default-features = false }
approx-0_5 = { package = "approx", version = "0.5", optional = true , default-features = false }

# Use via the `blas` crate feature!
cblas-sys = { version = "0.1.4", optional = true, default-features = false }
libc = { version = "0.2.82", optional = true }

matrixmultiply = { version = "0.3.0", default-features = false}
matrixmultiply = { version = "0.3.2", default-features = false, features=["cgemm"] }

serde = { version = "1.0", optional = true, default-features = false, features = ["alloc"] }
rawpointer = { version = "0.2" }

[dev-dependencies]
defmac = "0.2"
quickcheck = { version = "0.9", default-features = false }
quickcheck = { version = "1.0", default-features = false }
approx = "0.4"
itertools = { version = "0.10.0", default-features = false, features = ["use_std"] }

Expand All @@ -64,20 +66,22 @@ serde-1 = ["serde"]
test = []

# This feature is used for docs
docs = ["approx", "serde", "rayon"]
docs = ["approx", "approx-0_5", "serde", "rayon"]

std = ["num-traits/std", "matrixmultiply/std"]
rayon = ["rayon_", "std"]

matrixmultiply-threading = ["matrixmultiply/threading"]

[profile.release]
[profile.bench]
debug = true
[profile.dev.package.numeric-tests]
opt-level = 2
[profile.test.package.numeric-tests]
opt-level = 2

[workspace]
members = ["ndarray-rand", "xtest-serialization", "xtest-blas"]
exclude = ["xtest-numeric"]
members = ["ndarray-rand", "xtest-serialization", "xtest-blas", "xtest-numeric"]

[package.metadata.release]
no-dev-version = true
Expand Down
2 changes: 1 addition & 1 deletion LICENSE-MIT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2015 - 2018 Ulrik Sverdrup "bluss",
Copyright (c) 2015 - 2021 Ulrik Sverdrup "bluss",
Jim Turner,
and ndarray developers

Expand Down
Loading

0 comments on commit db87903

Please sign in to comment.