Merge pull request #1279 from waywardmonkeys/clippy-less-lazy #904
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: [ dev, master ] | |
pull_request: | |
branches: [ dev, master ] | |
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: | |
# Needed because the --all-features build which enables cuda support. | |
- uses: Jimver/[email protected] | |
- 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: | |
- 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@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
- name: install xargo | |
run: cp .github/Xargo.toml .; rustup component add rust-src; cargo install -f xargo; | |
- name: build x86_64-unknown-linux-gnu | |
run: xargo build --verbose --no-default-features --target=x86_64-unknown-linux-gnu; | |
- name: build x86_64-unknown-linux-gnu --features rand-no-std | |
run: xargo build --verbose --no-default-features --target=x86_64-unknown-linux-gnu; | |
- name: build x86_64-unknown-linux-gnu --features alloc | |
run: xargo build --verbose --no-default-features --features alloc --target=x86_64-unknown-linux-gnu; | |
- name: build thumbv7em-none-eabihf | |
run: xargo build --verbose --no-default-features --target=thumbv7em-none-eabihf; | |
- name: build x86_64-unknown-linux-gnu nalgebra-glm | |
run: xargo build --verbose --no-default-features -p nalgebra-glm --target=x86_64-unknown-linux-gnu; | |
- name: build thumbv7em-none-eabihf nalgebra-glm | |
run: xargo build --verbose --no-default-features -p nalgebra-glm --target=thumbv7em-none-eabihf; | |
build-cuda: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: Jimver/[email protected] | |
with: | |
cuda: '11.5.0' | |
- name: Install nightly-2021-12-04 | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2021-12-04 | |
override: true | |
- uses: actions/checkout@v2 | |
- run: rustup target add nvptx64-nvidia-cuda | |
- run: cargo build --no-default-features --features cuda | |
- run: cargo build --no-default-features --features cuda --target=nvptx64-nvidia-cuda | |
env: | |
CUDA_ARCH: "350" | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Generate documentation | |
run: cargo doc |