# Travis is only used to test ARM64 Linux

dist: focal
sudo: true
language: rust
git:
  submodules: false

rust: stable

env:
  global:
    - RUST_BACKTRACE=1
    # absl deadlock detection performs poorly on arm, so we build it release
    # mode to skip the check. Enabling debug-assertions to get safer test
    # results.
    - RUSTFLAGS="--deny=warnings -C debug-assertions"
    - TEST_BIND=1

addons:
  apt:
    update: true
    packages:
      - libunwind-dev

jobs:
  include:
  - os: linux
    arch: arm64-graviton2
    vm: virt
    before_script:
      - scripts/reset-submodule.cmd
      - export GRPC_VERSION=1.35.0
      - export PATH="$PATH:$HOME/.cache/bin:$HOME/.cargo/bin"
      - which cmake && cmake --version && openssl version
      - eval "$(gimme stable)"
    script:
      - if [[ $TRAVIS_OS_NAME == "linux" ]] && [[ $TRAVIS_RUST_VERSION == "stable" ]]; then
          rustup component add rustfmt && cargo fmt --all -- --check;
          env TEST_BIND=0 scripts/generate-bindings.sh && git diff --exit-code HEAD;
        fi
      - ./scripts/generate-bindings.sh
      - cargo build --no-default-features
      - cargo build --no-default-features --features protobuf-codec
      - cargo build --no-default-features --features prost-codec
      - cargo build
      - travis_wait 40 cargo test --release --all
  - os: linux
    arch: arm64-graviton2
    vm: virt
    before_script:
      - scripts/reset-submodule.cmd
      - export GRPC_VERSION=1.35.0
      - export PATH="$PATH:$HOME/.cache/bin:$HOME/.cargo/bin"
      - sudo apt-get update && sudo apt-get -y install libssl-dev
      - which cmake && cmake --version && openssl version
      - eval "$(gimme stable)"
    script:
      - travis_wait 40 cargo test --release --features "openssl-vendored" --all
