before_script:
- getconf LONG_BIT
- rustup self update
- rustup --version
- rustup toolchain install --profile minimal beta-$TARGET 1.39.0-$TARGET
- rustup component add --toolchain beta-$TARGET rustfmt clippy
- 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:
- cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az f16 serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az f16 std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az f16"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16 serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16 serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16 std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings std"
- cargo +beta-$TARGET check --all-targets --features fail-on-warnings
- cargo +beta-$TARGET test --features "fail-on-warnings az f16 serde std"
- cargo +beta-$TARGET test --release --features "fail-on-warnings az f16 serde std"
- cargo +beta-$TARGET fmt -- --check
- cargo +1.39.0-$TARGET test --lib --features "fail-on-warnings az f16 serde std"
- cargo +1.39.0-$TARGET test --release --lib --features "fail-on-warnings az f16 serde std"
i686-gnulinux:
image: i386/rust:1
variables:
TARGET: i686
cache:
key: $CI_JOB_NAME
paths:
- cargo/
script:
- cargo +beta-$TARGET clippy --all-targets --features "fail-on-warnings az f16 serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az f16 serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az f16 std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az f16"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings az"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16 serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16 serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16 std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings f16"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings serde std"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings serde"
- cargo +beta-$TARGET check --all-targets --features "fail-on-warnings std"
- cargo +beta-$TARGET check --all-targets --features fail-on-warnings
- cargo +beta-$TARGET test --features "fail-on-warnings f16 serde"
- cargo +beta-$TARGET test --release --features "fail-on-warnings az f16 serde std"
- cargo +beta-$TARGET fmt -- --check
- cargo +1.39.0-$TARGET test --lib --features "fail-on-warnings az f16 serde std"
- cargo +1.39.0-$TARGET test --release --lib --features "fail-on-warnings az f16 serde std"
x86_64-gnulinux-tarpaulin:
image: amd64/rust:1
variables:
TARGET: x86_64
REQ_COVERAGE: "85.5"
cache:
key: $CI_JOB_NAME
paths:
- cargo/
script:
- cargo +beta-$TARGET install --version 0.12.3 --locked cargo-tarpaulin
- stdbuf -oL cargo +beta-$TARGET tarpaulin -v --ignore-tests --exclude-files build.rs --features "az f16 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 serde std"
- mv target/doc public/dev
artifacts:
paths:
- public
only:
- master