fixed 1.2.0

Fixed-point numbers
Documentation
# Copyright © 2018–2019 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.44.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.44.0-$TARGET test --lib --features "fail-on-warnings az f16 num-traits serde std"
  - cargo +1.44.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.44.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.44.0-$TARGET test --lib --features "fail-on-warnings az f16 num-traits serde std"
  - cargo +1.44.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: "87.45"
  cache:
    key: $CI_JOB_NAME
    paths:
    - cargo/
  script:
  - rustup toolchain install --profile minimal beta-$TARGET
  - cargo +beta-$TARGET install --version 0.14.3 --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