Fixed issue that prevented the Playlist to advance to the next file #181
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ESPixelStick CI | |
| on: [push, pull_request, workflow_dispatch] | |
| env: | |
| VERSION_BASE: "4.0" | |
| jobs: | |
| firmware: | |
| strategy: | |
| matrix: | |
| include: | |
| # ESPixelStick V3 | |
| - target: "esp8266_espsv3" | |
| chip: "esp8266" | |
| # Wemos D1 Mini ESP8266 | |
| - target: "esp8266_wemos_d1_mini" | |
| chip: "esp8266" | |
| # Wemos D1 Mini PRO ESP8266 | |
| - target: "esp8266_wemos_d1_mini_pro" | |
| chip: "esp8266" | |
| # ESP01S | |
| - target: "esp8266_esp01s" | |
| chip: "esp8266" | |
| # Wemos D1 Mini ESP32 | |
| - target: "esp32_wemos_d1_mini32" | |
| chip: "esp32" | |
| # Wemos D1 Mini ESP32 | |
| - target: "esp32_wemos_d1_mini32_eth" | |
| chip: "esp32" | |
| # ESP32 Bong69 | |
| - target: "esp32_bong69" | |
| chip: "esp32" | |
| # ESP32 CAM | |
| - target: "esp32_cam" | |
| chip: "esp32" | |
| # Lolin D32 Pro | |
| - target: "esp32_lolin_d1_pro" | |
| chip: "esp32" | |
| # Lolin D32 Pro eth | |
| - target: "esp32_lolin_d1_pro_eth" | |
| chip: "esp32" | |
| # TTGO T8 | |
| - target: "esp32_ttgo_t8" | |
| chip: "esp32" | |
| # WT 32 Ethernet Board | |
| - target: "esp32_wt32eth01" | |
| chip: "esp32" | |
| # QuinLed QUAD Dig OCTA | |
| - target: "esp32_quinled_dig_octa" | |
| chip: "esp32" | |
| # QuinLed QUAD | |
| - target: "esp32_quinled_quad" | |
| chip: "esp32" | |
| # QuinLed QUAD_P5 | |
| - target: "esp32_quinled_quad_p5" | |
| chip: "esp32" | |
| # QuinLed QUAD AE+ | |
| - target: "esp32_quinled_quad_ae_plus" | |
| chip: "esp32" | |
| # QuinLed QUAD AE+ 8 | |
| - target: "esp32_quinled_quad_ae_plus_8" | |
| chip: "esp32" | |
| # QuinLed QUAD Eth | |
| - target: "esp32_quinled_quad_eth" | |
| chip: "esp32" | |
| # QuinLed QUAD Eth 5 Port | |
| - target: "esp32_quinled_quad_eth_p5" | |
| chip: "esp32" | |
| # QuinLed UNO | |
| - target: "esp32_quinled_uno" | |
| chip: "esp32" | |
| # QuinLed UNO AE + | |
| - target: "esp32_quinled_uno_ae_plus" | |
| chip: "esp32" | |
| # QuinLed UNO Eth | |
| - target: "esp32_quinled_uno_eth" | |
| chip: "esp32" | |
| # QuinLed UNO Eth | |
| - target: "esp32_quinled_uno_eth_espsv3" | |
| chip: "esp32" | |
| # Wasatch | |
| - target: "esp32_wasatch" | |
| chip: "esp32" | |
| # mh et esp32 mini kit | |
| - target: "esp32_d1_mini_mhetesp32minikit" | |
| chip: "esp32" | |
| # Olimex ESP32 Gateway | |
| - target: "esp32_olimex_gw" | |
| chip: "esp32" | |
| # Twilight Lord | |
| - target: "esp32_d1_mini_twilightlord" | |
| chip: "esp32" | |
| # Twilight Lord ETH | |
| - target: "esp32_d1_mini_twilightlord_eth" | |
| chip: "esp32" | |
| # DEVKITC | |
| - target: "esp32_devkitc" | |
| chip: "esp32" | |
| # M5Stack Atom | |
| - target: "esp32_m5stack_atom" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_deuxquatro_dmx" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_quinled_uno_espsv3" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_tetra2go" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_octa2go" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_solo2go" | |
| chip: "esp32" | |
| # KR Lights | |
| - target: "esp32_kr_lights_msm" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_ka" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_ka_4" | |
| chip: "esp32" | |
| # | |
| - target: "esp32_breakdancev2" | |
| chip: "esp32" | |
| # WT 32 Foo Board | |
| - target: "esp32_foo" | |
| chip: "esp32" | |
| # | |
| - target: "esp32s3_devkitc" | |
| chip: "esp32s3" | |
| # | |
| - target: "esp32s3_devkitc_Internal_SD" | |
| chip: "esp32s3" | |
| # Seeed Studio XIAO ESP32-S3 | |
| - target: "esp32s3_seeed_xiao" | |
| chip: "esp32s3" | |
| # | |
| - target: "esp32_devkitv_eth" | |
| chip: "esp32" | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Checkout ESPixelStick | |
| - uses: actions/checkout@v4 | |
| - name: Create version file | |
| run: | | |
| mkdir firmware | |
| echo "${VERSION_BASE}-ci${GITHUB_RUN_ID}" > firmware/VERSION | |
| - name: Tagged version release | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| echo "${GITHUB_REF#refs/*/v}" > firmware/VERSION | |
| - name: Cache pip | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Cache PlatformIO | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.platformio | |
| key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Install PlatformIO | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --upgrade platformio | |
| # Build and move / rename firmware files | |
| # Make sure to update bootloader and boot_app0.bin location when the ESP32 core updates | |
| - name: Compile for ${{ matrix.target }} | |
| env: | |
| chip: ${{ matrix.chip }} | |
| run: | | |
| pio run -e ${{ matrix.target }} | |
| ls -al ./firmware/${{ matrix.chip }} | |
| ls -al ./debug/${{ matrix.chip }} | |
| - name: Upload Firmware Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: firmware-binary-${{ matrix.target }} | |
| path: firmware | |
| - name: Upload Debugging Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: firmware-debug-${{ matrix.target }} | |
| path: debug | |
| package: | |
| needs: firmware | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Checkout ESPixelStick | |
| - uses: actions/checkout@v4 | |
| - name: Set release flag | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| echo "ESPS_RELEASE=''" >> $GITHUB_ENV | |
| # Download firmware binary artifact | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: dist/firmware | |
| pattern: firmware-binary-* | |
| merge-multiple: true | |
| # Install Node | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| - run: npm install | |
| # Build and move the web pages | |
| - name: Compile Web Pages | |
| run: | | |
| gulp | |
| gulp md | |
| if [ -z "$ESPS_RELEASE" ]; then | |
| gulp ci | |
| fi | |
| mv data/* dist/fs | |
| - name: Set release archive filename | |
| run: | | |
| _VERSION=$(< dist/firmware/VERSION) | |
| echo "ARCHFILE=ESPixelStick_Firmware-${_VERSION}.zip" >> $GITHUB_ENV | |
| - name: Update firmware.json | |
| run: python .scripts/ci-firmware.py | |
| - name: Create Release Archive | |
| run: zip -r ../${{ env.ARCHFILE }} * | |
| working-directory: dist | |
| - name: Upload Release Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Release Archive | |
| path: ${{ env.ARCHFILE }} | |
| release: | |
| needs: package | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| steps: | |
| - name: Download Package | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Release Archive | |
| - name: Create Draft Release | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| draft: true | |
| prerelease: true | |
| files: ESPixelStick_Firmware*.zip |