73 lines
2.6 KiB
YAML
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'
|