fif/.gitlab-ci.yml

83 lines
No EOL
1.4 KiB
YAML

image: "rust:latest"
variables:
CARGO_HOME: $CI_PROJECT_DIR/.cargo
cache:
paths:
- target
- .cargo
default:
before_script:
- rustc --version
- cargo version
stages:
- lint
- build
- test
- version
# TEMPLATE
.cargo-build:
stage: build
parallel:
matrix:
- FEATURES: [ 'xdg-mime-backend', 'infer-backend', 'multi-threaded xdg-mime-backend',
'multi-threaded infer-backend' ]
script:
cargo build --no-default-features --locked --features="$FEATURES"
.cargo-test:
stage: test
parallel:
matrix:
- FEATURES: [ 'xdg-mime-backend', 'infer-backend', 'multi-threaded xdg-mime-backend',
'multi-threaded infer-backend' ]
script:
cargo test --no-default-features --locked --verbose --features="$FEATURES"
clippy:
stage: lint
script:
- rustup component add clippy
- cargo clippy --version
- ./clippy.sh ci
# BUILD
build-stable:
extends: .cargo-build
build-msrv:
extends: build-stable
image: "rust:1.43.0"
build-nightly:
extends: build-stable
image: "rustlang/rust:nightly"
# TEST
test-stable:
extends: .cargo-test
needs: ["build-stable"]
test-msrv:
extends: test-stable
image: "rust:1.43.0"
needs: ["build-msrv"]
test-nightly:
extends: test-stable
image: "rustlang/rust:nightly"
needs: ["build-nightly"]
# VERSION
fif-version:
stage: version
needs: ["build-stable"]
script:
cargo run -- -V