variables:
RUST_VERSION: 1.72.1
CARGO_HOME: $CI_PROJECT_DIR/.cargo
stages:
- build+test
- publish
mr-amd64:
stage: build+test
only:
- merge_requests
image: rust:$RUST_VERSION
before_script:
- apt-get update && apt-get install -y cmake
script:
- rustup set profile default
- rustup default $RUST_VERSION
- cargo test
mr-amd64-clippy:
stage: build+test
only:
- merge_requests
image: rust:$RUST_VERSION
before_script:
- apt-get update && apt-get install -y cmake
script:
- rustup set profile default
- rustup default $RUST_VERSION
- rustup component add clippy
- cargo clippy -- --no-deps -D warnings
mr-aarch64:
stage: build+test
only:
- merge_requests
tags:
- arm64
- cmake
- linux
- rustup
script:
- rustup set profile default
- rustup default $RUST_VERSION
- cargo test
mr-aarch64-clippy:
stage: build+test
only:
- merge_requests
tags:
- arm64
- cmake
- linux
- rustup
script:
- rustup set profile default
- rustup default $RUST_VERSION
- cargo clippy -- --no-deps -D warnings
mr-armv7:
stage: build+test
only:
- merge_requests
tags:
- armhf
- cmake
- linux
- rustup
script:
- rustup set profile default
- rustup default $RUST_VERSION
- cargo test
mr-armv7-clippy:
stage: build+test
only:
- merge_requests
tags:
- armhf
- cmake
- linux
- rustup
script:
- rustup set profile default
- rustup default $RUST_VERSION
- cargo clippy -- --no-deps -D warnings
crates.io:
stage: publish
only:
- tags
image: rust:$RUST_VERSION
script:
- rustup set profile default
- rustup default $RUST_VERSION
- cargo publish --allow-dirty --token ${CARGO_REGISTRY_TOKEN}