sudo: false dist: trusty language: c compiler: - clang - gcc env: global: - PROTOBUF_VERSION=3.4.0 matrix: - GOAL=stm32 TOOLCHAIN_SHORTVER=7-2017q4 TOOLCHAIN_LONGVER=gcc-arm-none-eabi-7-2017-q4-major - GOAL=unix - GOAL=src matrix: exclude: - compiler: clang env: GOAL=stm32 - compiler: clang env: GOAL=src addons: apt: sources: - deadsnakes packages: - build-essential - gcc-multilib - libusb-1.0-0-dev - libudev-dev - python3.6 - python3.6-dev - python3.6-venv before_install: - python3.6 -m ensurepip --user - python3.6 -m pip install --user pipenv install: - curl -LO "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip" - unzip "protoc-${PROTOBUF_VERSION}-linux-x86_64.zip" -d protoc - export PATH="$(pwd)/protoc/bin:$PATH" - pipenv install before_script: - test "$GOAL" != "stm32" || wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/$TOOLCHAIN_SHORTVER/$TOOLCHAIN_LONGVER-linux.tar.bz2 - test "$GOAL" != "stm32" || tar xfj $TOOLCHAIN_LONGVER-linux.tar.bz2 - test "$GOAL" != "stm32" || export PATH=$PWD/$TOOLCHAIN_LONGVER/bin:$PATH script: - test "$GOAL" != "src" || pipenv run make style - test "$GOAL" != "stm32" || pipenv run make build_cross - test "$GOAL" != "stm32" || pipenv run make build_boardloader - test "$GOAL" != "stm32" || pipenv run make build_bootloader - test "$GOAL" != "stm32" || pipenv run make build_prodtest - test "$GOAL" != "stm32" || pipenv run make build_firmware - test "$GOAL" != "stm32" || pipenv run make sizecheck - test "$GOAL" != "unix" || pipenv run make build_unix_noui - test "$GOAL" != "unix" || pipenv run make test - test "$GOAL" != "unix" || pipenv run make test_emu notifications: webhooks: urls: - http://ci-bot.satoshilabs.com:5000/travis on_success: always on_failure: always on_start: always