summaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
blob: 89161f5c9f74c618983df7a44e695d4cf7510886 (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
43
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_DURATION: 10
  setup_script:
    - pkg install -y curl
    - curl https://sh.rustup.rs -sSf --output rustup.sh
    - sh rustup.sh -y
    - . $HOME/.cargo/env
    - rustup target add i686-unknown-freebsd
    - |
      # 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 "~~~~~~~~~~~~~~~~~~~~"
  cargo_cache:
    folder: $HOME/.cargo/registry
  test_script:
    - . $HOME/.cargo/env
    - cargo test --all
    - (cd tokio-trace/test-log-support && cargo test)
    - (cd tokio-trace/test_static_max_level_features && cargo test)
    - cargo doc --all
  i686_test_script:
    - . $HOME/.cargo/env
    - |
      cargo test --all --exclude tokio-tls --exclude tokio-macros --target i686-unknown-freebsd
  before_cache_script:
    - rm -rf $HOME/.cargo/registry/index