forked from M-Labs/nalgebra
5dfe06897f
This gives us some freedom in the future, in case we need additional dependencies for the proptest integration.
120 lines
3.4 KiB
YAML
120 lines
3.4 KiB
YAML
version: 2.1
|
|
|
|
executors:
|
|
rust-nightly-executor:
|
|
docker:
|
|
- image: rustlang/rust:nightly
|
|
rust-executor:
|
|
docker:
|
|
- image: rust:latest
|
|
|
|
|
|
jobs:
|
|
check-fmt:
|
|
executor: rust-executor
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: install rustfmt
|
|
command: rustup component add rustfmt
|
|
- run:
|
|
name: check formatting
|
|
command: cargo fmt -- --check
|
|
clippy:
|
|
executor: rust-executor
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: install clippy
|
|
command: rustup component add clippy
|
|
- run:
|
|
name: clippy
|
|
command: cargo clippy
|
|
build-native:
|
|
executor: rust-executor
|
|
steps:
|
|
- checkout
|
|
- run: apt-get update
|
|
- run: apt-get install -y cmake gfortran libblas-dev liblapack-dev
|
|
- run:
|
|
name: build --no-default-feature
|
|
command: cargo build --no-default-features;
|
|
- run:
|
|
name: build (default features)
|
|
command: cargo build;
|
|
- run:
|
|
name: build --all-features
|
|
command: cargo build --all-features
|
|
- run:
|
|
name: build nalgebra-glm
|
|
command: cargo build -p nalgebra-glm --all-features
|
|
- run:
|
|
name: build nalgebra-lapack
|
|
command: cd nalgebra-lapack; cargo build
|
|
test-native:
|
|
executor: rust-executor
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: test
|
|
command: cargo test --features arbitrary --features serde-serialize --features abomonation-serialize --features sparse --features debug --features io --features compare --features libm --features proptest-support --features slow-tests
|
|
- run:
|
|
name: test nalgebra-glm
|
|
command: cargo test -p nalgebra-glm --features arbitrary --features serde-serialize --features abomonation-serialize --features sparse --features debug --features io --features compare --features libm --features slow-tests
|
|
build-wasm:
|
|
executor: rust-executor
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: install cargo-web
|
|
command: cargo install -f cargo-web;
|
|
- run:
|
|
name: build --all-features
|
|
command: cargo web build --verbose --target wasm32-unknown-unknown;
|
|
- run:
|
|
name: build nalgebra-glm
|
|
command: cargo build -p nalgebra-glm --all-features
|
|
build-no-std:
|
|
executor: rust-nightly-executor
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: install xargo
|
|
command: cp .circleci/Xargo.toml .; rustup component add rust-src; cargo install -f xargo;
|
|
- run:
|
|
name: build
|
|
command: xargo build --verbose --no-default-features --target=x86_64-unknown-linux-gnu;
|
|
- run:
|
|
name: build --features alloc
|
|
command: xargo build --verbose --no-default-features --features alloc --target=x86_64-unknown-linux-gnu;
|
|
build-nightly:
|
|
executor: rust-nightly-executor
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: build --all-features
|
|
command: cargo build --all-features
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- check-fmt
|
|
- clippy
|
|
- build-native:
|
|
requires:
|
|
- check-fmt
|
|
- build-wasm:
|
|
requires:
|
|
- check-fmt
|
|
- build-no-std:
|
|
requires:
|
|
- check-fmt
|
|
- build-nightly:
|
|
requires:
|
|
- check-fmt
|
|
- test-native:
|
|
requires:
|
|
- build-native
|