.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" #DISABLE_TESTS: 1 artifacts: paths: - target - Cargo.lock - .cargo # docker image doesn't exist for arm .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