Fix no-std CI build configuration #1136
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: nalgebra CI build | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check-fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Check formatting | |
run: cargo fmt -- --check | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install clippy | |
run: rustup component add clippy | |
- name: Run clippy | |
run: cargo clippy | |
build-nalgebra: | |
runs-on: ubuntu-latest | |
# env: | |
# RUSTFLAGS: -D warnings | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build --no-default-feature | |
run: cargo build --no-default-features; | |
- name: Build (default features) | |
run: cargo build; | |
- name: Build --features serde-serialize | |
run: cargo build --features serde-serialize | |
- name: Build nalgebra-lapack | |
run: cd nalgebra-lapack; cargo build; | |
- name: Build nalgebra-sparse --no-default-features | |
run: cd nalgebra-sparse; cargo build --no-default-features; | |
- name: Build nalgebra-sparse (default features) | |
run: cd nalgebra-sparse; cargo build; | |
- name: Build nalgebra-sparse --all-features | |
run: cd nalgebra-sparse; cargo build --all-features; | |
# Run this on it’s own job because it alone takes a lot of time. | |
# So it’s best to let it run in parallel to the other jobs. | |
build-nalgebra-all-features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- run: cargo build --all-features; | |
- run: cargo build -p nalgebra-glm --all-features; | |
test-nalgebra: | |
runs-on: ubuntu-latest | |
# env: | |
# RUSTFLAGS: -D warnings | |
steps: | |
# Tests are run with a specific version of the compiler to avoid | |
# trybuild errors when a new compiler version is out. This can be | |
# bumped as needed after running the tests with TRYBUILD=overwrite | |
# to re-generate the error reference. | |
- name: Select rustc version | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.79.0 | |
override: true | |
- uses: actions/checkout@v2 | |
- name: test | |
run: cargo test --features arbitrary,rand,serde-serialize,sparse,debug,io,compare,libm,proptest-support,slow-tests,rkyv-safe-deser,rayon; | |
test-nalgebra-glm: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: test nalgebra-glm | |
run: cargo test -p nalgebra-glm --features arbitrary,serde-serialize; | |
test-nalgebra-sparse: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: test nalgebra-sparse | |
# Manifest-path is necessary because cargo otherwise won't correctly forward features | |
# We increase number of proptest cases to hopefully catch more potential bugs | |
run: PROPTEST_CASES=10000 cargo test --manifest-path=nalgebra-sparse/Cargo.toml --features compare,proptest-support,io,serde-serialize | |
- name: test nalgebra-sparse (slow tests) | |
# Unfortunately, the "slow-tests" take so much time that we need to run them with --release | |
run: PROPTEST_CASES=10000 cargo test --release --manifest-path=nalgebra-sparse/Cargo.toml --features compare,proptest-support,io,serde-serialize,slow-tests slow | |
test-nalgebra-macros: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: test nalgebra-macros | |
run: cargo test -p nalgebra-macros | |
build-wasm: | |
runs-on: ubuntu-latest | |
# env: | |
# RUSTFLAGS: -D warnings | |
steps: | |
- uses: actions/checkout@v2 | |
- run: rustup target add wasm32-unknown-unknown | |
- name: build nalgebra | |
run: cargo build --verbose --target wasm32-unknown-unknown; | |
- name: build nalgebra-glm | |
run: cargo build -p nalgebra-glm --verbose --target wasm32-unknown-unknown; | |
build-no-std: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest stable | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
targets: "x86_64-unknown-none,thumbv7em-none-eabihf" | |
- name: build x86_64-unknown-none | |
run: cargo build --verbose --no-default-features --target=x86_64-unknown-none | |
- name: build x86_64-unknown-none --features rand-no-std | |
run: cargo build --verbose --no-default-features --features rand-no-std --target=x86_64-unknown-none | |
- name: build x86_64-unknown-none --features alloc | |
run: cargo build --verbose --no-default-features --features alloc --target=x86_64-unknown-none | |
- name: build thumbv7em-none-eabihf | |
run: cargo build --verbose --no-default-features --target=thumbv7em-none-eabihf | |
- name: build x86_64-unknown-none nalgebra-glm | |
run: cargo build --verbose --no-default-features -p nalgebra-glm --target=x86_64-unknown-none | |
- name: build thumbv7em-none-eabihf nalgebra-glm | |
run: cargo build --verbose --no-default-features -p nalgebra-glm --target=thumbv7em-none-eabihf | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Generate documentation | |
run: cargo doc |