FastLED/ci/ci-compile

39 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# compile FastLED examples with platformio for various boards. This script
# is usually run by the CI, but can also be run locally. Only dependency
# is platformio.
#
# usage:
# [BOARDS=boards] [EXAMPLES=examples] ./ci-compile
#
# e.g.
# $ ./compile-ci
# - compile all board/examples combinations
#
# $ BOARDS="esp32 esp01" EXAMPLES=Blink ./compile-ci
# - compile only Blink example for the esp32 and esp8266 platforms
#
set -eou pipefail
# List of examples that will be compiled by default
EXAMPLES=${EXAMPLES:-"Apa102HD Blink ColorPalette ColorTemperature Cylon DemoReel100
Fire2012 FirstLight Multiple/MultipleStripsInOneArray
Multiple/ArrayOfLedArrays Noise NoisePlayground NoisePlusPalette Pacifica
Pride2015 RGBCalibrate RGBSetDemo TwinkleFox XYMatrix"}
# list of boards to compile for by default
BOARDS=${BOARDS:-"uno esp32dev esp01 yun digix teensy30"}
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
BOARD_OPTS=$(for b in $BOARDS; do echo -n "--board $b "; done)
cd "$DIR/.."
export PLATFORMIO_EXTRA_SCRIPTS="pre:lib/ci/ci-flags.py"
for d in $EXAMPLES ; do
echo "*** building example $d for $BOARDS ***"
pio ci $BOARD_OPTS --lib=ci --lib=src "examples/$d/"*ino
done