image: "rust:latest"
stages:
- build
- test
before_script:
- rustup toolchain add $toolchain
variables:
CARGO_HOME: $CI_PROJECT_DIR/cargo
cache:
paths:
- target/
- cargo/
build:stable:
stage: build
variables:
toolchain: stable
script:
- cargo +stable build -v
test:stable:
stage: test
variables:
toolchain: stable
dependencies:
- build:stable
script:
- cargo +stable test -v
build:nightly:
stage: build
variables:
toolchain: nightly
script:
- cargo +nightly build -v
test:nightly:
stage: test
variables:
toolchain: nightly
dependencies:
- build:nightly
script:
- cargo +nightly test -v
test:benches:
stage: test
variables:
toolchain: nightly
dependencies:
- build:nightly
script:
- cargo +nightly test --bench api
build:redox:
stage: build
variables:
toolchain: nightly
script:
- rustup target add x86_64-unknown-redox --toolchain nightly
- cargo +nightly build --target=x86_64-unknown-redox -v