91 lines
2.8 KiB
YAML
91 lines
2.8 KiB
YAML
task:
|
|
name: stable
|
|
container:
|
|
image: rust
|
|
cpu: 1
|
|
memory: 1G
|
|
allow_failures: false
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
cargo_cache:
|
|
folder: $HOME/.cargo/registry
|
|
fingerprint_script: cat Cargo.lock 2> /dev/null || true
|
|
target_cache:
|
|
folder: target
|
|
fingerprint_script: cat Cargo.lock 2> /dev/null || true
|
|
setup_script:
|
|
- rustup component add clippy
|
|
info_script:
|
|
- rustc --version
|
|
check_script:
|
|
- cargo check --examples --tests --no-default-features
|
|
- cargo check --examples --tests --no-default-features --features std
|
|
- cargo check --examples --tests --no-default-features --features ascii
|
|
- cargo build --examples --tests --all-features
|
|
- cargo clippy --tests --examples --all-features
|
|
test_script:
|
|
- cargo test --all-features --no-fail-fast -- --test-threads=1
|
|
before_cache_script:
|
|
- rm -rf $HOME/.cargo/registry/index
|
|
|
|
task:
|
|
name: MSRV
|
|
container:
|
|
image: rust:1.56
|
|
cpu: 1
|
|
memory: 1G
|
|
allow_failures: false
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
cargo_cache:
|
|
folder: $HOME/.cargo/registry
|
|
fingerprint_script: cat Cargo.lock 2> /dev/null || true
|
|
target_cache:
|
|
folder: target
|
|
fingerprint_script: cat Cargo.lock 2> /dev/null || true
|
|
info_script:
|
|
- rustc --version
|
|
build_script:
|
|
# Lock to the specified minor versions of dependencies
|
|
# to test that they work with our MSRV.
|
|
# But that doesn't cover recursive dependencies,
|
|
# so avoid checking examples and tests because they build dev dependencies.
|
|
# Tests and examples don't need to work at MSRV anyway.
|
|
- sed -i 's/"^/"~/' Cargo.toml
|
|
- cargo check --no-default-features
|
|
- cargo check --no-default-features --features std
|
|
- cargo check --no-default-features --features ascii
|
|
- cargo check --all-features
|
|
before_cache_script:
|
|
- rm -rf $HOME/.cargo/registry/index
|
|
|
|
task:
|
|
name: nightly
|
|
container:
|
|
image: rustlang/rust:nightly
|
|
cpu: 1
|
|
memory: 1G
|
|
allow_failures: false
|
|
cargo_cache:
|
|
folder: $HOME/.cargo/registry
|
|
fingerprint_script: cat Cargo.lock 2> /dev/null || true
|
|
# rustc version is so likely to have changed that build artefacts are not worth caching
|
|
setup_script:
|
|
- cargo install cargo-fuzz
|
|
- rustup component add miri
|
|
info_script:
|
|
- rustc --version
|
|
check_script:
|
|
- cargo check --benches --no-default-features
|
|
- cargo check --benches --no-default-features --features std
|
|
- cargo check --benches --no-default-features --features ascii
|
|
- cargo build --benches --all-features
|
|
- cargo fuzz build
|
|
# fuzz supports feature selection,
|
|
# but --no-default-features doesn't seem to have any effect
|
|
test_script:
|
|
# the doc tets are fast and should cover a lot of code
|
|
- cargo miri test --all-features --doc -- --test-threads=1
|
|
before_cache_script:
|
|
- rm -rf $HOME/.cargo/registry/index
|