circuitpython/tools/build_adafruit_bins.sh

107 lines
3.4 KiB
Bash
Raw Normal View History

2017-10-25 02:06:02 -04:00
rm -rf ports/atmel-samd/build*
rm -rf ports/esp8266/build*
2017-12-27 07:54:16 -05:00
rm -rf ports/nrf/build*
2018-08-29 15:38:33 -04:00
HW_BOARDS="\
arduino_zero \
circuitplayground_express \
circuitplayground_express_crickit \
feather_huzzah \
feather_m0_adalogger \
feather_m0_basic \
feather_m0_express \
feather_m0_express_crickit \
feather_m0_rfm69 \
feather_m0_rfm9x \
feather_m4_express \
feather_nrf52832 \
2018-08-29 15:38:33 -04:00
feather_nrf52840_express \
2018-09-07 13:52:30 -04:00
grandcentral_m4_express \
2018-08-29 15:38:33 -04:00
pca10056 \
feather_radiofruit_zigbee \
gemma_m0 \
hallowing_m0_express \
itsybitsy_m0_express \
itsybitsy_m4_express \
metro_m0_express \
metro_m4_express \
pirkey_m0 \
trinket_m0 \
"
ROSIE_SETUPS="rosie-ci"
2017-10-25 02:06:02 -04:00
PARALLEL="-j 5"
if [ "$TRAVIS" == "true" ]; then
PARALLEL="-j 2"
fi
if [ -z "$TRAVIS_BOARD" ]; then
2018-08-29 15:38:33 -04:00
boards=$HW_BOARDS
else
boards=$TRAVIS_BOARD
fi
version=`git describe --tags --exact-match`
if [ $? -ne 0 ]; then
2017-04-20 17:04:06 -04:00
version=`date +%Y%m%d`-`git rev-parse --short HEAD`
fi
if [ "$TRAVIS" == "true" ]; then
sha=$TRAVIS_COMMIT
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
version=`date +%Y%m%d`-`echo $TRAVIS_PULL_REQUEST_SHA | cut -c1-7`
sha=$TRAVIS_PULL_REQUEST_SHA
fi
fi
for board in $boards; do
2017-04-20 17:04:06 -04:00
mkdir -p bin/$board/
extension=uf2
2018-07-31 19:53:54 -04:00
for language_file in $(ls locale/*.po); do
language=$(basename -s .po $language_file)
echo "Building $board for $language"
if [ $board == "feather_huzzah" ]; then
make $PARALLEL -C ports/esp8266 TRANSLATION=$language BOARD=feather_huzzah
(( exit_status = exit_status || $? ))
temp_filename=ports/esp8266/build/firmware-combined.bin
extension=bin
elif [ $board == "feather_nrf52832" ]; then
make $PARALLEL -C ports/nrf TRANSLATION=$language BOARD=feather_nrf52832
2018-07-31 19:53:54 -04:00
(( exit_status = exit_status || $? ))
temp_filename=ports/nrf/build-$board-s132/firmware.bin
extension=bin
elif [ $board == "feather_nrf52840_express" ]; then
make $PARALLEL -C ports/nrf TRANSLATION=$language BOARD=feather_nrf52840_express SD=s140
(( exit_status = exit_status || $? ))
2018-08-29 15:38:33 -04:00
temp_filename=ports/nrf/build-$board-s140/firmware.uf2
extension=uf2
2018-07-31 19:53:54 -04:00
elif [ $board == "pca10056" ]; then
make $PARALLEL -C ports/nrf TRANSLATION=$language BOARD=pca10056 SD=s140
(( exit_status = exit_status || $? ))
2018-08-29 15:38:33 -04:00
temp_filename=ports/nrf/build-$board-s140/firmware.uf2
extension=uf2
2018-07-31 19:53:54 -04:00
else
time make $PARALLEL -C ports/atmel-samd TRANSLATION=$language BOARD=$board
(( exit_status = exit_status || $? ))
cp ports/atmel-samd/build-$board/firmware.bin bin/$board/adafruit-circuitpython-$board-$language-$version.bin
(( exit_status = exit_status || $? ))
temp_filename=ports/atmel-samd/build-$board/firmware.uf2
extension=uf2
fi
final_filename=bin/$board/adafruit-circuitpython-$board-$language-$version.$extension
cp $temp_filename $final_filename
2017-12-28 16:35:03 -05:00
(( exit_status = exit_status || $? ))
2018-07-31 19:53:54 -04:00
# Only upload to Rosie if its a pull request.
if [ "$TRAVIS" == "true" ]; then
for rosie in $ROSIE_SETUPS; do
echo "Uploading to https://$rosie.ngrok.io/upload/$sha"
curl -F "file=@$final_filename" https://$rosie.ngrok.io/upload/$sha
done
fi
echo
done
done
2017-04-20 18:14:37 -04:00
2017-04-20 17:04:06 -04:00
exit $exit_status