2021-03-01 17:39:20 +08:00
|
|
|
|
name: nalgebra CI build
|
|
|
|
|
|
|
|
|
|
on:
|
|
|
|
|
push:
|
2021-03-01 17:43:08 +08:00
|
|
|
|
branches: [ dev, master ]
|
2021-03-01 17:39:20 +08:00
|
|
|
|
pull_request:
|
2021-03-01 17:43:08 +08:00
|
|
|
|
branches: [ dev, master ]
|
2021-03-01 17:39:20 +08:00
|
|
|
|
|
|
|
|
|
env:
|
|
|
|
|
CARGO_TERM_COLOR: always
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
check-fmt:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
2021-03-01 17:39:20 +08:00
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
- name: Check formatting
|
|
|
|
|
run: cargo fmt -- --check
|
|
|
|
|
clippy:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
2021-03-01 17:39:20 +08:00
|
|
|
|
steps:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
- uses: actions/checkout@v2
|
2021-03-01 17:39:20 +08:00
|
|
|
|
- name: Install clippy
|
|
|
|
|
run: rustup component add clippy
|
|
|
|
|
- name: Run clippy
|
|
|
|
|
run: cargo clippy
|
2021-03-01 19:54:50 +08:00
|
|
|
|
build-nalgebra:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
2021-03-01 17:39:20 +08:00
|
|
|
|
# env:
|
|
|
|
|
# RUSTFLAGS: -D warnings
|
2021-11-23 20:16:28 +08:00
|
|
|
|
steps:
|
2021-03-01 17:39:20 +08:00
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
- name: Build --no-default-feature
|
|
|
|
|
run: cargo build --no-default-features;
|
|
|
|
|
- name: Build (default features)
|
|
|
|
|
run: cargo build;
|
2021-04-01 17:40:27 +08:00
|
|
|
|
- name: Build --features serde-serialize
|
|
|
|
|
run: cargo build --features serde-serialize
|
2021-03-01 17:39:20 +08:00
|
|
|
|
- name: Build nalgebra-lapack
|
|
|
|
|
run: cd nalgebra-lapack; cargo build;
|
|
|
|
|
- name: Build nalgebra-sparse
|
|
|
|
|
run: cd nalgebra-sparse; cargo build;
|
2021-11-23 20:57:30 +08:00
|
|
|
|
# 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/cuda-toolkit@v0.2.4
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
- run: cargo build --all-features;
|
|
|
|
|
- run: cargo build -p nalgebra-glm --all-features;
|
2021-03-01 19:54:50 +08:00
|
|
|
|
test-nalgebra:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
2021-03-01 17:39:20 +08:00
|
|
|
|
# env:
|
|
|
|
|
# RUSTFLAGS: -D warnings
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
- name: test
|
2021-03-02 19:37:00 +08:00
|
|
|
|
run: cargo test --features arbitrary,rand,serde-serialize,abomonation-serialize,sparse,debug,io,compare,libm,proptest-support,slow-tests;
|
2021-03-01 19:54:50 +08:00
|
|
|
|
test-nalgebra-glm:
|
2021-03-01 19:57:12 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
2021-03-01 19:54:50 +08:00
|
|
|
|
- uses: actions/checkout@v2
|
2021-03-01 17:39:20 +08:00
|
|
|
|
- name: test nalgebra-glm
|
2021-04-10 12:58:20 +08:00
|
|
|
|
run: cargo test -p nalgebra-glm --features arbitrary,serde-serialize,abomonation-serialize;
|
2021-03-01 19:54:50 +08:00
|
|
|
|
test-nalgebra-sparse:
|
2021-03-01 19:57:12 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
2021-03-01 19:54:50 +08:00
|
|
|
|
- uses: actions/checkout@v2
|
2021-03-01 17:39:20 +08:00
|
|
|
|
- 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
|
|
|
|
|
- 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,slow-tests slow
|
2021-04-30 23:16:18 +08:00
|
|
|
|
test-nalgebra-macros:
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
- name: test nalgebra-macros
|
|
|
|
|
run: cargo test -p nalgebra-macros
|
2021-03-01 17:39:20 +08:00
|
|
|
|
build-wasm:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
2021-03-01 17:39:20 +08:00
|
|
|
|
# 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:
|
2021-03-01 19:16:10 +08:00
|
|
|
|
runs-on: ubuntu-latest
|
2021-03-01 17:39:20 +08:00
|
|
|
|
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;
|
2021-03-02 19:25:12 +08:00
|
|
|
|
- name: build x86_64-unknown-linux-gnu
|
2021-03-01 17:39:20 +08:00
|
|
|
|
run: xargo build --verbose --no-default-features --target=x86_64-unknown-linux-gnu;
|
2021-03-02 19:25:12 +08:00
|
|
|
|
- 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
|
2021-03-01 17:39:20 +08:00
|
|
|
|
run: xargo build --verbose --no-default-features --features alloc --target=x86_64-unknown-linux-gnu;
|
2021-03-02 19:25:12 +08:00
|
|
|
|
- name: build thumbv7em-none-eabihf
|
|
|
|
|
run: xargo build --verbose --no-default-features --target=thumbv7em-none-eabihf;
|
2021-11-22 03:57:02 +08:00
|
|
|
|
- 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;
|
2021-11-23 20:36:54 +08:00
|
|
|
|
build-cuda:
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: Jimver/cuda-toolkit@v0.2.4
|
2021-12-09 19:03:00 +08:00
|
|
|
|
- name: Install nightly-2021-12-04
|
2021-11-24 19:39:17 +08:00
|
|
|
|
uses: actions-rs/toolchain@v1
|
|
|
|
|
with:
|
2021-12-09 19:03:00 +08:00
|
|
|
|
toolchain: nightly-2021-12-04
|
2021-11-24 19:39:17 +08:00
|
|
|
|
override: true
|
2021-11-23 20:42:13 +08:00
|
|
|
|
- uses: actions/checkout@v2
|
2021-11-23 20:48:58 +08:00
|
|
|
|
- run: rustup target add nvptx64-nvidia-cuda
|
2021-11-23 20:57:30 +08:00
|
|
|
|
- run: cargo build --no-default-features --features cuda
|
|
|
|
|
- run: cargo build --no-default-features --features cuda --target=nvptx64-nvidia-cuda
|