From 5f3845457a66aacbebc4b24f564f78fc62825059 Mon Sep 17 00:00:00 2001 From: Mit4el Date: Tue, 26 Nov 2024 23:30:41 +0300 Subject: [PATCH] build pipline --- .github/workflows/build_iotm.yml | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/build_iotm.yml diff --git a/.github/workflows/build_iotm.yml b/.github/workflows/build_iotm.yml new file mode 100644 index 00000000..285c7178 --- /dev/null +++ b/.github/workflows/build_iotm.yml @@ -0,0 +1,63 @@ +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