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