Build Release #15
Workflow file for this run
This file contains 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: Build Release | |
on: | |
release: | |
types: [published] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- name: ttgo-lora32-v21 | |
chip: esp32 | |
- name: heltec_wireless_tracker | |
chip: esp32s3 | |
- name: heltec_ht-ct62 | |
chip: esp32c3 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
- name: Install PlatformIO Core | |
run: pip install --upgrade platformio | |
- name: Build target | |
run: | | |
pio run -e ${{ matrix.target.name }} | |
- name: Build FS | |
run: | | |
pio run --target buildfs -e ${{ matrix.target.name }} | |
- name: Move Files | |
run: | | |
mkdir -p installer/firmware | |
cp .pio/build/${{ matrix.target.name }}/firmware.bin installer/ota_update.bin | |
cp .pio/build/${{ matrix.target.name }}/firmware.bin installer/firmware/ | |
cp .pio/build/${{ matrix.target.name }}/bootloader.bin installer/firmware/ | |
cp .pio/build/${{ matrix.target.name }}/partitions.bin installer/firmware/ | |
cp .pio/build/${{ matrix.target.name }}/spiffs.bin installer/firmware/ | |
cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin installer/firmware/ | |
- name: Merge for web flashing | |
run: | | |
for board in ${{ matrix.target.name }}; do | |
python3 -m pip install esptool | |
python3 -m esptool --chip ${{ matrix.target.chip }} merge_bin -o installer/web_factory_${board}.bin --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 installer/firmware/bootloader.bin 0x9000 installer/firmware/partitions.bin 0xe000 installer/firmware/boot_app0.bin 0x10000 installer/firmware/firmware.bin 0x3D0000 installer/firmware/spiffs.bin | |
done | |
- name: Install Zip | |
run: sudo apt-get install zip | |
- name: Archive Files | |
run: zip -r installer.zip installer/ | |
- name: Upload Release Asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ github.event.release.upload_url }} | |
asset_path: ./installer.zip | |
asset_name: ${{ matrix.target.name }}.zip | |
asset_content_type: application/zip |