1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 15:38:11 +00:00
trezor-firmware/legacy/script/cibuild

52 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

#!/usr/bin/env bash
2017-12-17 16:00:32 +00:00
# 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
2018-06-25 16:09:52 +00:00
2018-03-22 17:53:54 +00:00
if [ "$EMULATOR" != 1 ]; then
make -C bootloader
2018-03-22 17:53:54 +00:00
fi
2018-06-25 16:09:52 +00:00
# invoking nanopb_generator to make sure its proto files are generated
2020-02-12 16:18:30 +00:00
nanopb_generator >/dev/null || true
2017-12-17 16:00:32 +00:00
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