nalgebra/.semaphore/semaphore.yml
2021-03-01 11:36:33 +00:00

73 lines
2.6 KiB
YAML

version: v1.0
name: Rust
agent:
machine:
type: e1-standard-2
os_image: ubuntu1804
containers:
- name: main
image: 'registry.semaphoreci.com/rust:1.47'
blocks:
- name: Rustfmt
task:
jobs:
- name: run cargo fmt
commands:
- checkout
- rustup component add rustfmt
- cargo fmt -- --check
dependencies: []
- name: Clippy
dependencies: []
task:
jobs:
- name: Run clippy
commands:
- checkout
- rustup component add clippy
- cargo clippy
- name: Build (native)
dependencies: []
task:
jobs:
- name: Build nalgebra
commands:
- checkout
- apt-get install -y cmake gfortran libblas-dev liblapack-dev
- cargo build --no-default-features
- cargo build
- cargo build --all-features
- name: Build nalgebra-glm
commands:
- checkout
- cargo build -p nalgebra-glm --all-features
- name: Build nalgebra-lapack
commands:
- checkout
- apt-get install -y cmake gfortran libblas-dev liblapack-dev
- cd nalgebra-lapack
- cargo build
- name: Test (native)
dependencies: []
task:
jobs:
- name: Test nalgebra
commands:
- checkout
- 'cargo test --features arbitrary --features serde-serialize,abomonation-serialize,sparse,debug,io,compare,libm,proptest-support,slow-tests'
- name: Test nalgebra-glm
commands:
- checkout
- 'cargo test -p nalgebra-glm --features arbitrary,serde-serialize,abomonation-serialize,sparse,debug,io,compare,libm,proptest-support,slow-tests;'
- name: Test nalgebra-sparse
commands:
- checkout
- '# Manifest-path is necessary because cargo otherwise won''t correctly forward features'
- '# We increase number of proptest cases to hopefully catch more potential bugs'
- 'PROPTEST_CASES=10000 cargo test --manifest-path=nalgebra-sparse/Cargo.toml --features compare,proptest-support'
- name: Test nalgebra-sparse (slow tests)
commands:
- checkout
- '# Unfortunately, the "slow-tests" take so much time that we need to run them with --release'
- 'PROPTEST_CASES=10000 cargo test --release --manifest-path=nalgebra-sparse/Cargo.toml --features compare,proptest-support,slow-tests slow'