#!/usr/bin/env bash # script/cibuild: Setup environment for CI to run tests. This is primarily # designed to run on the continuous integration server. set -e cd "$(dirname "$0")/.." if [ "$EMULATOR" = 1 ]; then make -C emulator else make -C vendor/libopencm3 lib/stm32/f2 fi make if [ "$EMULATOR" != 1 ]; then make -C bootloader fi # invoking nanopb_generator to make sure its proto files are generated nanopb_generator >/dev/null || true make -C firmware/protob make -C firmware if [ "$EMULATOR" != 1 ]; then make -C firmware sign make -C intermediate_fw make -C intermediate_fw sign # Giving the firmware bin a descriptive name if [ "$BITCOIN_ONLY" = 1 ]; then BTCONLY="-bitcoinonly" else BTCONLY="" fi VERSION_MAJOR=$(grep -P '\bVERSION_MAJOR\b' firmware/version.h | cut -d' ' -f3) VERSION_MINOR=$(grep -P '\bVERSION_MINOR\b' firmware/version.h | cut -d' ' -f3) VERSION_PATCH=$(grep -P '\bVERSION_PATCH\b' firmware/version.h | cut -d' ' -f3) VERSION="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" GITHASH=$(git rev-parse --short HEAD) if git status --porcelain | grep -q '.'; then echo "There are changes in the repository." DIRTY="-dirty" else DIRTY="" fi cp firmware/trezor.bin firmware/firmware-T1B1${BTCONLY}-${VERSION}-${GITHASH}${DIRTY}.bin fi