language: rust
sudo: false

# We support too many combinations of Rust releases, crate features, operating
# systems, and architectures to even remotely test all combinations.
# Yet it turns out we can test most of these independent of each other, because
# they serve different goals or test different pieces of code.
#
# RUST RELEASES
# Goal: make sure we don't use language features unavailable on a certain
#       version, and build without warnings.
# We have different builders use 4 Rust releases, a pinned stable release,
# the latest stable, beta and nightly.
#
# ARCHITECTURES
# Goal: test against issues caused by differences in endianness, pointer sizes,
#       etc.
# We run tests on 4 different architectures.
# - x64_84, default on Travis (Linux) and AppVeyor (Windows)
# - i686, second AppVeyor (Windows) configuration
# - MIPS, big-endian Linux emulated with QEMU (thanks to Trust)
# - ARMv7, Android emulated with QEMU (thanks to Trust)
#
# OPERATING SYSTEMS
# Goal: test on many operating systems, to verify the OsRng code, which is
#       mostly architecture-independent.
# We run tests on Linux, OS X, Windows, Android (emulated), and Node.js (using
# cargo-web).
# One builder cross-compiles for many of the remaining OSes, which ensures we
# keep building, but doesn't run tests.
# OSes supported by Rand but which we can't cross-compile because there
# is no pre-built standard library available: Dragonfly BSD, Haiku, OpenBSD.
#
# CRATE FEATURES, TESTS, AND SUB-CRATES
# Goal: Run unit tests, doctests, examples, and test benchmarks for all crates,
#       in configurations that cover all interesting combinations of features.
# (`--lib` only runs unit tests just like `--tests`, but the latter is not
# available in Rust 1.22.0)
# Tests run on rand:
# - test no_std support, but only the unit tests:
#   `cargo test --lib --no-default-features`
# - run unit tests and doctests with all features which are available on stable:
#   `cargo test --features=log`
# - test examples:
#   `cargo test --examples`
# Additional tests on nightly:
# - run unit tests and doctests with all features which are available on nightly:
#   `cargo test --all-features`
# - test no_std support, including the nightly alloc feature:
#   cargo test --lib --no-default-features --features=alloc
# - run benchmarks as tests:
#   `cargo test --benches --features=nightly`
# Tests on subcrates:
# - select crates via --manifest-path (more reliable than --package)
# - test appropriate feature matrix
#
# TODO: SIMD support on stable releases
# NOTE: SIMD support is unreliable on nightly; we track the latest release
matrix:
  include:
    - rust: 1.22.0
      env: DESCRIPTION="pinned stable Rust release"
      script:
        # Differs from standard script: rand_pcg features
        - cargo test --lib --no-default-features
        # TODO: add simd_support feature:
        - cargo test --features=log
        - cargo test --examples
        - cargo test --manifest-path rand_core/Cargo.toml
        - cargo test --manifest-path rand_core/Cargo.toml --no-default-features
        - cargo test --manifest-path rand_isaac/Cargo.toml --features=serde1
        # TODO: cannot test rand_pcg due to explicit dependency on i128
        - cargo test --manifest-path rand_xorshift/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_xoshiro/Cargo.toml
        - cargo test --manifest-path rand_chacha/Cargo.toml
        - cargo test --manifest-path rand_hc/Cargo.toml
        - cargo test --manifest-path rand_jitter/Cargo.toml
        - cargo test --manifest-path rand_os/Cargo.toml

    - rust: stable
      env: DESCRIPTION="stable Rust release, macOS, iOS (cross-compile only)"
      os: osx
      install:
        - rustup target add aarch64-apple-ios
      script:
        # Differs from standard script: includes aarch64-apple-ios cross-build
        - cargo test --lib --no-default-features
        # TODO: add simd_support feature:
        - cargo test --features=log
        - cargo test --examples
        - cargo test --manifest-path rand_core/Cargo.toml
        - cargo test --manifest-path rand_core/Cargo.toml --no-default-features
        - cargo test --manifest-path rand_isaac/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_pcg/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_xorshift/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_xoshiro/Cargo.toml
        - cargo test --manifest-path rand_chacha/Cargo.toml
        - cargo test --manifest-path rand_hc/Cargo.toml
        - cargo test --manifest-path rand_jitter/Cargo.toml
        - cargo test --manifest-path rand_os/Cargo.toml
        - cargo build --target=aarch64-apple-ios

    - rust: beta
      env: DESCRIPTION="beta Rust release"

    - rust: nightly
      env: DESCRIPTION="nightly features, benchmarks, documentation"
      install:
        - cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
        - cargo deadlinks -V
      before_script:
        - pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
      script:
        # Differs from standard script: alloc feature, all features, doc build
        - cargo test --lib --no-default-features --features=alloc
        # Excludes serde1:
        - cargo test --features=nightly,simd_support,log
        - cargo test --benches --features=nightly
        - cargo test --examples
        - cargo test --manifest-path rand_core/Cargo.toml
        - cargo test --manifest-path rand_core/Cargo.toml --no-default-features --features=alloc
        - cargo test --manifest-path rand_isaac/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_pcg/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_xorshift/Cargo.toml --features=serde1
        - cargo test --manifest-path rand_xoshiro/Cargo.toml
        - cargo test --manifest-path rand_chacha/Cargo.toml
        - cargo test --manifest-path rand_hc/Cargo.toml
        - cargo test --manifest-path rand_jitter/Cargo.toml
        - cargo test --manifest-path rand_os/Cargo.toml
        # remove cached documentation, otherwise files from previous PRs can get included
        - rm -rf target/doc
        - cargo doc --no-deps --all --all-features
        - cargo deadlinks --dir target/doc
      after_success:
        - travis-cargo --only nightly doc-upload

    - rust: nightly
      env: DESCRIPTION="WASM via emscripten, stdweb and wasm-bindgen"
      install:
        - rustup target add wasm32-unknown-unknown
        - rustup target add wasm32-unknown-emscripten
        - nvm install 9
        - ./utils/ci/install_cargo_web.sh
        - cargo web prepare-emscripten
        - cargo web -V
        - cargo list | grep install-update || cargo install -f cargo-update
        - cargo install-update -i cargo-update wasm-bindgen-cli wasm-pack
      addons:
        chrome: stable
      script:
        # Testing wasm32-unknown-emscripten fails because of rust-lang/rust#49877
        # However, we can still build and link all tests to make sure that works.
        # This is actually useful as it finds stuff such as rust-random/rand#669
        - EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" cargo web test --target wasm32-unknown-emscripten --no-run
        #- cargo web test --target wasm32-unknown-emscripten
        #- cargo web test --nodejs --target wasm32-unknown-emscripten
        #- cargo build --target wasm32-unknown-unknown # without any features
        - cargo build --target wasm32-unknown-unknown --features=wasm-bindgen
        - cargo web test --target wasm32-unknown-unknown --features=stdweb
        - cargo build --manifest-path tests/wasm_bindgen/Cargo.toml --target wasm32-unknown-unknown
        - wasm-bindgen --nodejs target/wasm32-unknown-unknown/debug/rand_wasm_bindgen_test.wasm --out-dir tests/wasm_bindgen/js
        - node tests/wasm_bindgen/js/index.js
        - wasm-pack test --node tests/wasm_bindgen

    - rust: nightly
      env: DESCRIPTION="cross-platform builder (doesn't run tests)"
      install:
        - rustup target add x86_64-sun-solaris
        - rustup target add x86_64-unknown-cloudabi
        - rustup target add x86_64-unknown-freebsd
        #- rustup target add x86_64-unknown-fuchsia
        - rustup target add x86_64-unknown-netbsd
        - rustup target add x86_64-unknown-redox
      script:
        - cargo build --target=x86_64-sun-solaris --all-features
        - cargo build --target=x86_64-unknown-cloudabi --all-features
        - cargo build --target=x86_64-unknown-freebsd --all-features
        #- cargo build --target=x86_64-unknown-fuchsia --all-features
        - cargo build --target=x86_64-unknown-netbsd --all-features
        - cargo build --target=x86_64-unknown-redox --all-features

    # Trust cross-built/emulated targets. We must repeat all non-default values.
    - rust: stable
      sudo: required
      dist: trusty
      services: docker
      env: DESCRIPTION="Linux (MIPS, big-endian)" TARGET=mips-unknown-linux-gnu
      install:
        - sh utils/ci/install.sh
        - source ~/.cargo/env || true
      script:
        - bash utils/ci/script.sh
    - rust: stable
      sudo: required
      dist: trusty
      services: docker
      env: DESCRIPTION="Android (ARMv7)" TARGET=armv7-linux-androideabi
      install:
        - sh utils/ci/install.sh
        - source ~/.cargo/env || true
      script:
        - bash utils/ci/script.sh

before_install:
  - set -e
  - rustup self update

script:
  - cargo test --lib --no-default-features
  # TODO: add simd_support feature:
  - cargo test --features=log
  - cargo test --examples
  - cargo test --manifest-path rand_core/Cargo.toml
  - cargo test --manifest-path rand_core/Cargo.toml --no-default-features
  - cargo test --manifest-path rand_isaac/Cargo.toml --features=serde1
  - cargo test --manifest-path rand_pcg/Cargo.toml --features=serde1
  - cargo test --manifest-path rand_xorshift/Cargo.toml --features=serde1
  - cargo test --manifest-path rand_xoshiro/Cargo.toml
  - cargo test --manifest-path rand_chacha/Cargo.toml
  - cargo test --manifest-path rand_hc/Cargo.toml
  - cargo test --manifest-path rand_jitter/Cargo.toml
  - cargo test --manifest-path rand_os/Cargo.toml

after_script: set +e

cache:
  cargo: true
  directories:
    - .local/share/cargo-web

before_cache:
  # Travis can't cache files that are not readable by "others"
  - chmod -R a+r $HOME/.cargo

env:
  global:
    secure: "BdDntVHSompN+Qxz5Rz45VI4ZqhD72r6aPl166FADlnkIwS6N6FLWdqs51O7G5CpoMXEDvyYrjmRMZe/GYLIG9cmqmn/wUrWPO+PauGiIuG/D2dmfuUNvSTRcIe7UQLXrfP3yyfZPgqsH6pSnNEVopquQKy3KjzqepgriOJtbyY="

notifications:
  email:
    on_success: never
