added ppucdmd_256x64 #660
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: ZeDMD | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| version: | |
| name: Detect version | |
| runs-on: ubuntu-latest | |
| outputs: | |
| tag: ${{ steps.version.outputs.tag }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - id: version | |
| run: | | |
| VERSION_MAJOR=$(grep -Eo "ZEDMD_VERSION_MAJOR\s+[0-9]+" src/version.h | grep -Eo "[0-9]+") | |
| VERSION_MINOR=$(grep -Eo "ZEDMD_VERSION_MINOR\s+[0-9]+" src/version.h | grep -Eo "[0-9]+") | |
| VERSION_PATCH=$(grep -Eo "ZEDMD_VERSION_PATCH\s+[0-9]+" src/version.h | grep -Eo "[0-9]+") | |
| TAG="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" | |
| echo "${TAG}" | |
| echo "tag=${TAG}" >> $GITHUB_OUTPUT | |
| - name: Check git tag | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| GIT_TAG="${GITHUB_REF#refs/tags/}" | |
| EXPECTED_TAG="v${{ steps.version.outputs.tag }}" | |
| if [[ "${GIT_TAG}" != "${EXPECTED_TAG}" ]]; then | |
| echo "Error: Git tag (${GIT_TAG}) does not match version from version.h (v${{ steps.version.outputs.tag }})" | |
| exit 1 | |
| fi | |
| pio-run: | |
| runs-on: ubuntu-latest | |
| needs: [ version ] | |
| strategy: | |
| matrix: | |
| panels: ['128x32', '256x64', '128x64', 'S3-N16R8_128x32', 'S3-N16R8_256x64', 'S3-N16R8_128x64', 'LilygoS3Amoled_128x32', 'LilygoS3Amoled_128x32_wifi', 'pico_128x32', 'pico_256x64', 'pico2_128x32', 'pico2_256x64', 'pico2_128x32_ppucdmd', 'pico2_256x64_ppucdmd', 'ppucdmd_128x32', 'ppucdmd_256x64'] | |
| name: ZeDMD ${{ matrix.panels }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Cache PlatformIO | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.platformio | |
| key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
| - name: Install PlatformIO | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install --upgrade platformio rich_click intelhex | |
| - if: (matrix.panels == '128x32' || matrix.panels == '256x64'|| matrix.panels == '128x64') | |
| name: Build ZeDMD | |
| run: | | |
| pio run -e ${{ matrix.panels }} | |
| pio run -e ${{ matrix.panels }} -t buildfs | |
| python ~/.platformio/packages/tool-esptoolpy/esptool.py --chip esp32 merge_bin -o ZeDMD.bin --flash_mode dio --flash_size 4MB \ | |
| 0x1000 .pio/build/${{ matrix.panels }}/bootloader.bin \ | |
| 0x8000 .pio/build/${{ matrix.panels }}/partitions.bin \ | |
| 0xe000 ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin \ | |
| 0x10000 .pio/build/${{ matrix.panels }}/firmware.bin \ | |
| 0x210000 .pio/build/${{ matrix.panels }}/littlefs.bin | |
| cp .pio/build/${{ matrix.panels }}/firmware.elf firmware.elf | |
| - if: (matrix.panels == 'S3-N16R8_128x32' || matrix.panels == 'S3-N16R8_256x64' || matrix.panels == 'S3-N16R8_128x64' || matrix.panels == 'S3-N16R8_128x32_UART' || matrix.panels == 'S3-N16R8_256x64_UART' || matrix.panels == 'S3-N16R8_128x64_UART' || matrix.panels == 'LilygoS3Amoled_128x32' || matrix.panels == 'LilygoS3Amoled_128x32_wifi') | |
| name: Build ZeDMD S3 | |
| run: | | |
| pio run -e ${{ matrix.panels }} | |
| pio run -e ${{ matrix.panels }} -t buildfs | |
| python ~/.platformio/packages/tool-esptoolpy/esptool.py --chip esp32s3 merge_bin -o ZeDMD.bin --flash_mode dio --flash_size 16MB \ | |
| 0x0000 .pio/build/${{ matrix.panels }}/bootloader.bin \ | |
| 0x8000 .pio/build/${{ matrix.panels }}/partitions.bin \ | |
| 0xe000 ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin \ | |
| 0x10000 .pio/build/${{ matrix.panels }}/firmware.bin \ | |
| 0x650000 .pio/build/${{ matrix.panels }}/littlefs.bin | |
| cp .pio/build/${{ matrix.panels }}/firmware.elf firmware.elf | |
| - if: (matrix.panels == 'pico_128x32' || matrix.panels == 'pico_256x64' || matrix.panels == 'pico2_128x32' || matrix.panels == 'pico2_256x64' || matrix.panels == 'pico2_128x32_ppucdmd' || matrix.panels == 'pico2_256x64_ppucdmd' || matrix.panels == 'ppucdmd_128x32' || matrix.panels == 'ppucdmd_256x64') | |
| name: Build ZeDMD pico | |
| run: | | |
| pio run -e ${{ matrix.panels }} | |
| pio run -e ${{ matrix.panels }} -t buildfs | |
| pio run -e ${{ matrix.panels }} -t buildunified | |
| cp .pio/build/${{ matrix.panels }}/firmware.uf2 firmware-update.uf2 | |
| cp .pio/build/${{ matrix.panels }}/firmware_with_fs.uf2 firmware.uf2 | |
| - if: ${{ matrix.panels != 'pico_128x32' && matrix.panels != 'pico_256x64' && matrix.panels != 'pico2_128x32' && matrix.panels != 'pico2_256x64' && matrix.panels != 'pico2_128x32_ppucdmd' && matrix.panels != 'pico2_256x64_ppucdmd' && matrix.panels != 'ppucdmd_128x32' && matrix.panels != 'ppucdmd_256x64' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ZeDMD-${{ matrix.panels }} | |
| path: | | |
| ZeDMD.bin | |
| firmware.elf | |
| - if: ${{ matrix.panels == 'pico_128x32' || matrix.panels == 'pico_256x64' || matrix.panels == 'pico2_128x32' || matrix.panels == 'pico2_256x64' || matrix.panels == 'pico2_128x32_ppucdmd' || matrix.panels == 'pico2_256x64_ppucdmd' || matrix.panels == 'ppucdmd_128x32' || matrix.panels == 'ppucdmd_256x64' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ZeDMD-${{ matrix.panels }} | |
| path: | | |
| firmware.uf2 | |
| firmware-update.uf2 | |
| post-build: | |
| runs-on: ubuntu-latest | |
| needs: [ version, pio-run ] | |
| name: Release | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| - name: Package | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| cd ZeDMD-128x32 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-128x32.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-256x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-256x64.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-128x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-128x64.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-S3-N16R8_128x32 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-S3-N16R8_128x32.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-S3-N16R8_256x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-S3-N16R8_256x64.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-S3-N16R8_128x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-S3-N16R8_128x64.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-LilygoS3Amoled_128x32 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-LilygoS3Amoled_128x32.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-LilygoS3Amoled_128x32_wifi | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-LilygoS3Amoled_128x32_wifi.zip ZeDMD.bin firmware.elf version.txt | |
| cd ../ZeDMD-pico_128x32 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-pico_128x32.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-pico_256x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-pico_256x64.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-pico2_128x32 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-pico2_128x32.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-pico2_256x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-pico2_256x64.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-pico2_128x32_ppucdmd | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-pico2_128x32_ppucdmd.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-pico2_256x64_ppucdmd | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-pico2_256x64_ppucdmdzip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-ppucdmd_128x32 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-ppucdmd_128x32.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd ../ZeDMD-ppucdmd_256x64 | |
| echo "${{ needs.version.outputs.tag }}" > version.txt | |
| zip ../ZeDMD-ppucdmd_256x64.zip firmware.uf2 firmware-update.uf2 version.txt | |
| cd .. | |
| - name: Release | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| with: | |
| draft: true | |
| files: | | |
| ZeDMD-128x32.zip | |
| ZeDMD-256x64.zip | |
| ZeDMD-128x64.zip | |
| ZeDMD-S3-N16R8_128x32.zip | |
| ZeDMD-S3-N16R8_256x64.zip | |
| ZeDMD-S3-N16R8_128x64.zip | |
| ZeDMD-LilygoS3Amoled_128x32.zip | |
| ZeDMD-LilygoS3Amoled_128x32_wifi.zip | |
| ZeDMD-pico_128x32.zip | |
| ZeDMD-pico_256x64.zip | |
| ZeDMD-pico2_128x32.zip | |
| ZeDMD-pico2_256x64.zip | |
| ZeDMD-pico2_128x32_ppucdmd.zip | |
| ZeDMD-pico2_256x64_ppucdmd.zip | |
| ZeDMD-ppucdmd_128x32.zip | |
| ZeDMD-ppucdmd_256x64.zip |