# Disable bors on the bors temp branch
branches:
  except:
    - staging.tmp
    - trying.tmp

language: rust
rust:
  - nightly-2020-04-06

os:
  - linux

cache: cargo

# Once Travis supports a version of Ubuntu Disco or newer we can apt install QEMU for RISC-V
# Until then we need to build it ourselves
before_install:
  #   - sudo apt-get -y install qemu-system-misc
  # addons:
  #   apt:
  #     update: true
  - wget https://download.qemu.org/qemu-4.2.0.tar.xz
  - tar xJf qemu-4.2.0.tar.xz
  - pushd qemu-4.2.0
  - ./configure --target-list=riscv32-softmmu
  - make -j8
  - sudo ln -s $PWD/riscv32-softmmu/qemu-system-riscv32 /usr/bin/
  - popd

install:
  - make setup
  # Build Tock, it needs to be outside of the libtock-rs source
  - pushd ../
  - git clone https://github.com/tock/tock.git
  - cd tock/boards/hifive1
  # Use a known working version of Tock
  - git checkout c94059d3e25dc635e682facff4894ef43b9aca0e
  - make
  - popd

script:
  - make test
  # Run a QEMU instance of the HiFive1 app
  - PLATFORM=hifive1 cargo rrv32imac --example libtock_test --features=alloc --features=__internal_disable_gpio_in_integration_test
  - pushd test-runner
  - cargo run
  - popd
