mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2024-11-22 14:57:56 +01:00
54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
|
# Official language image. Look for the different tagged releases at:
|
||
|
# https://hub.docker.com/r/library/rust/tags/
|
||
|
image: "rust:latest"
|
||
|
|
||
|
# Optional: Pick zero or more services to be used on all builds.
|
||
|
# Only needed when using a docker container to run your tests in.
|
||
|
# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service
|
||
|
# services:
|
||
|
# - mysql:latest
|
||
|
# - redis:latest
|
||
|
# - postgres:latest
|
||
|
|
||
|
variables:
|
||
|
GIT_SUBMODULE_STRATEGY: recursive
|
||
|
# CARGO_HOME: $CI_PROJECT_DIR/cargo
|
||
|
APT_CACHE_DIR: $CI_PROJECT_DIR/apt
|
||
|
|
||
|
# install build dependencies
|
||
|
before_script:
|
||
|
- apt-get update -yqq
|
||
|
- apt-get install -o dir::cache::archives="$APT_CACHE_DIR" -yqq --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev
|
||
|
- rustup update
|
||
|
- rustup component add rustfmt
|
||
|
- rustup component add clippy
|
||
|
|
||
|
# Use clippy to lint the project
|
||
|
lint:clippy:
|
||
|
allow_failure: true
|
||
|
script:
|
||
|
- rustc --version && cargo --version # Print version info for debugging
|
||
|
- cargo clippy -- -D warnings
|
||
|
|
||
|
# Use rustfmt to check formating of the project
|
||
|
lint:fmt:
|
||
|
allow_failure: true
|
||
|
script:
|
||
|
- rustc --version && cargo --version # Print version info for debugging
|
||
|
- cargo fmt -- --check # TODO: Do we want to enforce formating?
|
||
|
|
||
|
# Use cargo to test the project
|
||
|
test:cargo:
|
||
|
script:
|
||
|
- rustc --version && cargo --version # Print version info for debugging
|
||
|
- cargo test --workspace --verbose
|
||
|
|
||
|
|
||
|
# cache dependencies and build environment to speed up setup
|
||
|
cache:
|
||
|
key: "$CI_COMMIT_REF_SLUG"
|
||
|
paths:
|
||
|
- apt/
|
||
|
# - cargo/
|
||
|
- target/
|