You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/.travis.yml

74 lines
2.0 KiB

sudo: false
dist: trusty
language: c
compiler:
- clang
- gcc
env:
global:
- PROTOBUF_VERSION=3.4.0
matrix:
- GOAL=stm32 TOOLCHAIN_SHORTVER=7-2018q2 TOOLCHAIN_LONGVER=gcc-arm-none-eabi-7-2018-q2-update
- 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" != "src" || pipenv run make templates_check
- 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