Initial release #17
Workflow file for this run
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: Release Firmware | |
| on: | |
| release: | |
| types: [published] | |
| jobs: | |
| build-and-upload: | |
| name: Build & Upload Firmware | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Install PlatformIO & Tools | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install platformio | |
| pip install esptool | |
| pip install --upgrade intelhex | |
| pip install adafruit-nrfutil | |
| curl -L https://raw.githubusercontent.com/microsoft/uf2/master/utils/uf2conv.py -o uf2conv.py | |
| curl -L https://raw.githubusercontent.com/microsoft/uf2/master/utils/uf2families.json -o uf2families.json | |
| chmod +x uf2conv.py | |
| - name: Build & Package NRF Firmware | |
| run: | | |
| export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA" | |
| pio run --environment oeplnrf | |
| mkdir firmware_output | |
| cp .pio/build/oeplnrf/firmware.hex firmware_output/NRF52840.hex | |
| TAG_NAME=${{ github.event.release.tag_name }} | |
| adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application firmware_output/NRF52840.hex firmware_output/NRF52840.zip | |
| python uf2conv.py firmware_output/NRF52840.hex --family 0xADA52840 --output firmware_output/NRF52840.uf2 | |
| - name: Build & Package esp32-s3-N16R8 Firmware | |
| run: | | |
| export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA" | |
| pioenv=oeplesp32-s3-N16R8 | |
| pio run --environment ${pioenv} | |
| mkdir ${pioenv} | |
| cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin ${pioenv}/boot_app0.bin | |
| cp .pio/build/${pioenv}/firmware.bin ${pioenv}/firmware.bin | |
| cp .pio/build/${pioenv}/bootloader.bin ${pioenv}/bootloader.bin | |
| cp .pio/build/${pioenv}/partitions.bin ${pioenv}/partitions.bin | |
| cd ${pioenv} | |
| esptool.py --chip esp32-s3 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin | |
| cd .. | |
| cp ${pioenv}/firmware.bin firmware_output/${pioenv}.bin | |
| cp ${pioenv}/merged-firmware.bin firmware_output/${pioenv}_full.bin | |
| - name: Build & Package esp32-s3-N8R8 Firmware | |
| run: | | |
| export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA" | |
| pioenv=oeplesp32-s3-N8R8 | |
| pio run --environment ${pioenv} | |
| mkdir ${pioenv} | |
| cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin ${pioenv}/boot_app0.bin | |
| cp .pio/build/${pioenv}/firmware.bin ${pioenv}/firmware.bin | |
| cp .pio/build/${pioenv}/bootloader.bin ${pioenv}/bootloader.bin | |
| cp .pio/build/${pioenv}/partitions.bin ${pioenv}/partitions.bin | |
| cd ${pioenv} | |
| esptool.py --chip esp32-s3 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 8MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin | |
| cd .. | |
| cp ${pioenv}/firmware.bin firmware_output/${pioenv}.bin | |
| cp ${pioenv}/merged-firmware.bin firmware_output/${pioenv}_full.bin | |
| - name: Build & Package esp32-s3-N32R8 Firmware | |
| run: | | |
| export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA" | |
| pioenv=oeplesp32-s3-N32R8 | |
| pio run --environment ${pioenv} | |
| mkdir ${pioenv} | |
| cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin ${pioenv}/boot_app0.bin | |
| cp .pio/build/${pioenv}/firmware.bin ${pioenv}/firmware.bin | |
| cp .pio/build/${pioenv}/bootloader.bin ${pioenv}/bootloader.bin | |
| cp .pio/build/${pioenv}/partitions.bin ${pioenv}/partitions.bin | |
| cd ${pioenv} | |
| esptool.py --chip esp32-s3 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 32MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin | |
| cd .. | |
| cp ${pioenv}/firmware.bin firmware_output/${pioenv}.bin | |
| cp ${pioenv}/merged-firmware.bin firmware_output/${pioenv}_full.bin | |
| - name: Build & Package esp32-c6-N4 Firmware | |
| run: | | |
| export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA" | |
| pioenv=esp32-c6-N4 | |
| pio run --environment ${pioenv} | |
| mkdir ${pioenv} | |
| cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin ${pioenv}/boot_app0.bin | |
| cp .pio/build/${pioenv}/firmware.bin ${pioenv}/firmware.bin | |
| cp .pio/build/${pioenv}/bootloader.bin ${pioenv}/bootloader.bin | |
| cp .pio/build/${pioenv}/partitions.bin ${pioenv}/partitions.bin | |
| cd ${pioenv} | |
| esptool.py --chip esp32-c6 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin | |
| cd .. | |
| cp ${pioenv}/firmware.bin firmware_output/${pioenv}.bin | |
| cp ${pioenv}/merged-firmware.bin firmware_output/${pioenv}_full.bin | |
| - name: Build & Package esp32-c3-N4 Firmware | |
| run: | | |
| export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA" | |
| pioenv=esp32-c3-N4 | |
| pio run --environment ${pioenv} | |
| mkdir ${pioenv} | |
| cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin ${pioenv}/boot_app0.bin | |
| cp .pio/build/${pioenv}/firmware.bin ${pioenv}/firmware.bin | |
| cp .pio/build/${pioenv}/bootloader.bin ${pioenv}/bootloader.bin | |
| cp .pio/build/${pioenv}/partitions.bin ${pioenv}/partitions.bin | |
| cd ${pioenv} | |
| esptool.py --chip esp32-c6 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin | |
| cd .. | |
| cp ${pioenv}/firmware.bin firmware_output/${pioenv}.bin | |
| cp ${pioenv}/merged-firmware.bin firmware_output/${pioenv}_full.bin | |
| - name: Upload Release Assets | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: firmware_output/* | |
| tag: ${{ github.ref }} | |
| file_glob: true | |
| overwrite: true |