diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c8cf2b64..d26842db 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,16 +10,40 @@ jobs: - name: Build with Arduino-CLI run: bash ci/build-arduino.sh - pio-build: + pio-builds: runs-on: ubuntu-latest + strategy: + matrix: + product: + - fastled_webserver + - esp_thing + - kraken64 + - chamaeleon64 + - 1628_rings + - fib1024 + - fib512 + - fib256 + - fib128 + - fib64_full + - fib64_mini + - fib32 + platform: + - d1_mini + # - mini32 # When ESP32 is supported, one-line change to enable 2x product builds + steps: - name: Checkout uses: actions/checkout@v2 - - name: Build with PlatformIO + - name: Build + env: + FIB_PRODUCT: ${{ matrix.product }}__${{ matrix.platform }} run: bash ci/build-platformio.sh - uses: actions/upload-artifact@v2 with: name: firmware - path: .pio/build/*/firmware.bin + path: | + .pio/build/*/firmware.bin + .pio/build/*/firmware.elf + .pio/build/*/littlefs.bin diff --git a/ci/build-platformio.sh b/ci/build-platformio.sh index 5802536a..40e77a3d 100644 --- a/ci/build-platformio.sh +++ b/ci/build-platformio.sh @@ -15,4 +15,10 @@ python3 get-platformio.py pio platform install "espressif8266" # Compile project -pio run +if [[ ! -v FIB_PRODUCT ]]; then + pio run + pio run --target buildfs +else + pio run --environment ${FIB_PRODUCT} + pio run --target buildfs --environment ${FIB_PRODUCT} +fi