summaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
blob: afb761b7109c6c776d4e38c6f31ad4f097b699ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
freebsd_instance:
  image: freebsd-12-0-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 12.0
  env:
    LOOM_MAX_PREEMPTIONS: 2
    RUSTFLAGS: -Dwarnings
  setup_script:
    - pkg install -y curl
    - curl https://sh.rustup.rs -sSf --output rustup.sh
    - sh rustup.sh -y --profile minimal --default-toolchain stable
    - . $HOME/.cargo/env
    - rustup target add i686-unknown-freebsd
    - |
      echo "~~~~ rustc --version ~~~~"
      rustc --version

      # Remove any existing patch statements
      mv Cargo.toml Cargo.toml.bck
      sed -n '/\[patch.crates-io\]/q;p' Cargo.toml.bck > Cargo.toml

      # Patch all crates
      cat ci/patch.toml >> Cargo.toml

      # Print `Cargo.toml` for debugging
      echo "~~~~ Cargo.toml ~~~~"
      cat Cargo.toml
      echo "~~~~~~~~~~~~~~~~~~~~"
  test_script:
    - . $HOME/.cargo/env
    - cargo test --all
    - cargo doc --all --no-deps
  # TODO: Re-enable
  # i686_test_script:
  #   - . $HOME/.cargo/env
  #   - |
  #     cargo test --all --exclude tokio-tls --exclude tokio-macros --target i686-unknown-freebsd