circuitpython/tools/build_adafruit_bins.sh

76 lines
2.3 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*
ATMEL_BOARDS="arduino_zero circuitplayground_express feather_m0_basic feather_m0_adalogger feather_m0_express metro_m0_express metro_m4_express trinket_m0 gemma_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
boards=$ATMEL_BOARDS
else
boards=$TRAVIS_BOARD
fi
for board in $boards; do
2017-10-25 02:06:02 -04:00
make $PARALLEL -C ports/atmel-samd BOARD=$board
2017-04-20 17:04:06 -04:00
(( exit_status = exit_status || $? ))
done
if [ -z "$TRAVIS" ]; then
2017-10-25 02:06:02 -04:00
make $PARALLEL -C ports/esp8266 BOARD=feather_huzzah
2017-04-20 18:14:37 -04:00
(( exit_status = exit_status || $? ))
fi
2017-12-27 07:54:16 -05:00
if [ -z "$TRAVIS" ]; then
make $PARALLEL -C ports/nrf BOARD=feather52
(( exit_status = exit_status || $? ))
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/
2017-10-25 02:06:02 -04:00
cp ports/atmel-samd/build-$board/firmware.bin bin/$board/adafruit-circuitpython-$board-$version.bin
2017-04-20 17:04:06 -04:00
(( exit_status = exit_status || $? ))
2017-10-25 02:06:02 -04:00
cp ports/atmel-samd/build-$board/firmware.uf2 bin/$board/adafruit-circuitpython-$board-$version.uf2
2017-04-20 17:04:06 -04:00
(( exit_status = exit_status || $? ))
# 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=@bin/$board/adafruit-circuitpython-$board-$version.uf2" https://$rosie.ngrok.io/upload/$sha
done
fi
done
2017-04-20 18:14:37 -04:00
# Skip ESP8266 on Travis
if [ -z "$TRAVIS" ]; then
2017-04-20 18:14:37 -04:00
mkdir -p bin/esp8266/
2017-10-25 02:06:02 -04:00
cp ports/esp8266/build/firmware-combined.bin bin/esp8266/adafruit-circuitpython-feather_huzzah-$version.bin
2017-04-20 18:14:37 -04:00
(( exit_status = exit_status || $? ))
fi
2017-04-20 17:04:06 -04:00
2017-12-27 07:54:16 -05:00
# Skip nRF52 on Travis
if [ -z "$TRAVIS" ]; then
mkdir -p bin/nrf/
cp ports/nrf/build-feather52/firmware.bin bin/nrf/adafruit-circuitpython-feather_nrf52-$version.bin
(( exit_status = exit_status || $? ))
fi
2017-04-20 17:04:06 -04:00
exit $exit_status