freebsd_instance:
  image: freebsd-11-2-release-amd64

# Test FreeBSD in a full VM on cirrus-ci.com.  Test the i686 target too, in the
# same VM.  The binary will be built in 32-bit mode, but will execute on a
# 64-bit kernel and in a 64-bit environment.  Our tests don't execute any of
# the system's binaries, so the environment shouldn't matter.
task:
  name: FreeBSD 11.2
  cargo_cache:
    folder: $CARGO_HOME/registry
    fingerprint_script: cat Cargo.lock || echo ""
  # Install Rust
  setup_script:
    - pkg install -y curl
    - curl https://sh.rustup.rs -sSf --output rustup.sh
    - sh rustup.sh -y --default-toolchain 1.24.1
    - $HOME/.cargo/bin/rustup target add i686-unknown-freebsd
  amd64_test_script:
    - . $HOME/.cargo/env
    - cargo test
  i386_test_script:
    - . $HOME/.cargo/env
    - cargo test --target i686-unknown-freebsd
  before_cache_script: rm -rf $CARGO_HOME/registry/index
