# Copyright © 2018–2021 Trevor Spiteri # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. before_script: - getconf LONG_BIT - rustup self update - rustup --version - if [ -d cargo/registry/cache ]; then rm -rf $CARGO_HOME/registry/cache; mkdir -p $CARGO_HOME/registry; cp -R cargo/registry/cache $CARGO_HOME/registry/; echo Copied registry/cache; fi - if [ -d $CARGO_HOME/registry/src ]; then rm -r $CARGO_HOME/registry/src; fi - if [ -d $CARGO_HOME/registry/cache ]; then (cd $CARGO_HOME/registry; find cache -name \*.crate | sort) fi after_script: - if [ -d $CARGO_HOME/registry/cache ]; then (cd $CARGO_HOME/registry; for c in cache/*/*.crate; do s=src/${c#cache/}; if [ ! -e ${s%.crate} ]; then rm -v $c; fi; done; find cache -name \*.crate | sort) fi - rm -rf cargo - mkdir -p cargo/registry - if [ -d $CARGO_HOME/registry/cache ]; then cp -R $CARGO_HOME/registry/cache cargo/registry/; echo Updated registry/cache; fi x86_64-gnulinux: image: amd64/rust:1 variables: TARGET: x86_64 cache: key: $CI_JOB_NAME paths: - cargo/ script: - rustup toolchain install --profile minimal beta-$TARGET 1.47.0-$TARGET - cargo +beta-$TARGET test --features "fail-on-warnings az f16 num-traits serde std" - cargo +beta-$TARGET test --release --features "fail-on-warnings az f16 num-traits serde std" - cargo +1.47.0-$TARGET test --lib --features "fail-on-warnings az f16 num-traits serde std" - cargo +1.47.0-$TARGET test --release --lib --features "fail-on-warnings az f16 num-traits serde std" i686-gnulinux: image: i386/rust:1 variables: TARGET: i686 cache: key: $CI_JOB_NAME paths: - cargo/ script: - rustup toolchain install --profile minimal beta-$TARGET 1.47.0-$TARGET - cargo +beta-$TARGET test --features "fail-on-warnings az f16 num-traits serde std" - cargo +beta-$TARGET test --release --features "fail-on-warnings az f16 num-traits serde std" - cargo +1.47.0-$TARGET test --lib --features "fail-on-warnings az f16 num-traits serde std" - cargo +1.47.0-$TARGET test --release --lib --features "fail-on-warnings az f16 num-traits serde std" x86_64-gnulinux-tidy: image: amd64/rust:1 variables: TARGET: x86_64 cache: key: $CI_JOB_NAME paths: - cargo/ script: - rustup toolchain install --profile minimal beta-$TARGET - rustup component add --toolchain beta-$TARGET rustfmt clippy - cargo +beta-$TARGET fmt -- --check - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings std" - cargo +beta-$TARGET clippy --all-targets --features fail-on-warnings i686-gnulinux-tidy: image: i386/rust:1 variables: TARGET: i686 cache: key: $CI_JOB_NAME paths: - cargo/ script: - rustup toolchain install --profile minimal beta-$TARGET - rustup component add --toolchain beta-$TARGET rustfmt clippy - cargo +beta-$TARGET fmt -- --check - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16 std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings f16" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings num-traits" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings serde std" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings serde" - cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings std" - cargo +beta-$TARGET clippy --all-targets --features fail-on-warnings x86_64-gnulinux-tarpaulin: image: amd64/rust:1 variables: TARGET: x86_64 REQ_COVERAGE: "78.5" cache: key: $CI_JOB_NAME paths: - cargo/ script: - rustup toolchain install --profile minimal beta-$TARGET - cargo +beta-$TARGET install --version 0.16.0 --locked cargo-tarpaulin - stdbuf -oL cargo +beta-$TARGET tarpaulin -v --ignore-tests --exclude-files build.rs --features "az f16 num-traits serde std" | tee tarpaulin.log - echo "Check that coverage not less than $REQ_COVERAGE%" - tail -1 tarpaulin.log | awk '{ if ($1 < '$REQ_COVERAGE') { exit 1 } }' pages: image: amd64/rust:1 variables: TARGET: x86_64 cache: key: $CI_JOB_NAME paths: - cargo/ script: - rustup toolchain install --profile minimal nightly-$TARGET - rm -rf public - mkdir public - cp doc/index.html public - cargo +nightly-$TARGET doc --no-deps --features "az f16 num-traits serde std" - mv target/doc public/dev artifacts: paths: - public only: - master