Files
IoTManager/.github/workflows/build_iotm.yml
2024-11-26 23:30:41 +03:00

64 lines
1.9 KiB
YAML

env:
BOARDS: '["esp8266_4mb", "esp32_4bm3f", "esp32c3m_4mb", "esp32s2_4mb", "esp32s3_16mb"]'
name: Build Firmware
on:
workflow_dispatch:
jobs:
generate-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set_matrix.outputs.json }}
steps:
- name: Prepare matrix JSON Object
id: set_matrix
uses: nickofthyme/object-remap@v2.0.0
with:
__case: kebab
board: ${{ env.BOARDS }}
build:
needs: [ generate-matrix ]
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJSON(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v2
with:
ref: 'ver4dev'
- name: Run PrepareProject.py -b ${{ matrix.board }}
run: python3 ./PrepareProject.py -b ${{ matrix.board }}
- name: Set up Python
uses: actions/setup-python@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install platformio
- name: Run PlatformIO
run: platformio run
- name: Build FS
run: platformio run -t buildfs --disable-auto-clean
- name: Attach artifact
uses: actions/upload-artifact@v4
with:
name: firmware
path: |
.pio/build/esp8266_4mb/firmware.bin
.pio/build/esp8266_4mb/littlefs.bin
.pio/build/esp32_4mb3f/firmware.bin
.pio/build/esp32_4mb3f/littlefs.bin
.pio/build/esp32_4mb3f/partitions.bin
.pio/build/esp32s2_4mb/firmware.bin
.pio/build/esp32s2_4mb/littlefs.bin
.pio/build/esp32s2_4mb/partitions.bin
.pio/build/esp32s3_16mb/firmware.bin
.pio/build/esp32s3_16mb/littlefs.bin
.pio/build/esp32s3_16mb/partitions.bin
.pio/build/esp32c3m_4mb/firmware.bin
.pio/build/esp32c3m_4mb/littlefs.bin
.pio/build/esp32c3m_4mb/partitions.bin