.build_template:
stage: build
allow_failure: false
variables:
ENABLE_CACHE: "1"
script:
- cargo build --target=$TARGET
- if [[ -z $DISABLE_TESTS ]]; then cargo build --examples --target=$TARGET; fi
- if [[ -z $DISABLE_TESTS ]]; then cargo build --tests --target=$TARGET; fi
- if [[ -z $DISABLE_TESTS ]]; then cargo test --target=$TARGET; fi
artifacts:
paths:
- target
cache:
key: build
paths:
- .cargo
- target
x86_64-unknown-linux-gnu:
extends: .build_template
variables:
TARGET: "x86_64-unknown-linux-gnu"
artifacts:
paths:
- target
- Cargo.lock
- .cargo
.armv7-unknown-linux-gnueabihf:
extends: .build_template
tags:
- armhf
variables:
TARGET: "armv7-unknown-linux-gnueabihf"
DISABLE_TESTS: "1"
x86_64-pc-windows-gnu:
extends: .build_template
variables:
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER: "x86_64-w64-mingw32-gcc"
TARGET: "x86_64-pc-windows-gnu"
DISABLE_TESTS: "1"
script:
- cargo build --lib --target=$TARGET