V2.1 #36
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: ttgo-lora32-v21_915 | |
chip: esp32 | |
- name: heltec-lora32-v2 | |
chip: esp32 | |
- name: heltec_wifi_lora_32_V3 | |
chip: esp32s3 | |
- name: heltec_wireless_stick | |
chip: esp32s3 | |
- name: heltec_wireless_stick_lite_v3 | |
chip: esp32s3 | |
- name: heltec_wireless_stick_lite_v3_display | |
chip: esp32s3 | |
- name: ESP32_DIY_LoRa | |
chip: esp32 | |
- name: ESP32_DIY_LoRa_915 | |
chip: esp32 | |
- name: ESP32_DIY_1W_LoRa | |
chip: esp32 | |
- name: ESP32_DIY_1W_LoRa_915 | |
chip: esp32 | |
- name: ESP32_DIY_1W_LoRa_LLCC68 | |
chip: esp32 | |
- name: ESP32_DIY_1W_LoRa_Mesh_V1_2 | |
chip: esp32 | |
- name: ttgo-t-beam-v1_2 | |
chip: esp32 | |
- name: ttgo-t-beam-v1_2_915 | |
chip: esp32 | |
- name: ttgo-t-beam-v1 | |
chip: esp32 | |
- name: ttgo-t-beam-v1_915 | |
chip: esp32 | |
- name: ttgo-t-beam-v1_SX1268 | |
chip: esp32 | |
- name: ttgo-t-beam-v1_2_SX1262 | |
chip: esp32 | |
- name: ESP32_DIY_LoRa_A7670 | |
chip: esp32 | |
- name: ESP32_DIY_LoRa_A7670_915 | |
chip: esp32 | |
- name: heltec_wireless_tracker | |
chip: esp32s3 | |
- name: heltec_ht-ct62 | |
chip: esp32c3 | |
- name: heltec_wireless_paper | |
chip: esp32s3 | |
- name: OE5HWN_MeshCom | |
chip: esp32 | |
- name: WEMOS-LOLIN32-OLED-DIY | |
chip: esp32 | |
- name: WEMOS-D1-R32-RA02 | |
chip: esp32 | |
- name: WEMOS_S2_MINI_DIY_LoRa | |
chip: esp32s2 | |
- name: esp32c3_DIY_1W_LoRa | |
chip: esp32c3 | |
- name: esp32c3_DIY_1W_LoRa_915 | |
chip: esp32c3 | |
- name: ESP32_C3_OctopusLab_LoRa | |
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: | | |
if [ "${{ matrix.target.chip }}" == "esp32" ]; then | |
python installer/bin/esptool/esptool.py --chip esp32 merge_bin \ | |
-o installer/web_factory.bin \ | |
--flash_mode dio \ | |
--flash_freq 40m \ | |
--flash_size 4MB \ | |
0x1000 installer/firmware/bootloader.bin \ | |
0x8000 installer/firmware/partitions.bin \ | |
0xe000 installer/firmware/boot_app0.bin \ | |
0x10000 installer/firmware/firmware.bin \ | |
0x3D0000 installer/firmware/spiffs.bin | |
elif [ "${{ matrix.target.chip }}" == "esp32s2" ]; then | |
python installer/bin/esptool/esptool.py --chip esp32s2 merge_bin \ | |
-o installer/web_factory.bin \ | |
--flash_mode dio \ | |
--flash_freq 40m \ | |
--flash_size 4MB \ | |
0x1000 installer/firmware/bootloader.bin \ | |
0x8000 installer/firmware/partitions.bin \ | |
0xe000 installer/firmware/boot_app0.bin \ | |
0x10000 installer/firmware/firmware.bin \ | |
0x3D0000 installer/firmware/spiffs.bin | |
elif [ "${{ matrix.target.chip }}" == "esp32s3" ]; then | |
python installer/bin/esptool/esptool.py --chip esp32s3 merge_bin \ | |
-o installer/web_factory.bin \ | |
--flash_mode dio \ | |
--flash_freq 40m \ | |
--flash_size 8MB \ | |
0x0000 installer/firmware/bootloader.bin \ | |
0x8000 installer/firmware/partitions.bin \ | |
0xe000 installer/firmware/boot_app0.bin \ | |
0x10000 installer/firmware/firmware.bin \ | |
0x3D0000 installer/firmware/spiffs.bin | |
elif [ "${{ matrix.target.chip }}" == "esp32c3" ]; then | |
python installer/bin/esptool/esptool.py --chip esp32c3 merge_bin \ | |
-o installer/web_factory.bin \ | |
--flash_mode dio \ | |
--flash_freq 40m \ | |
--flash_size 4MB \ | |
0x1000 installer/firmware/bootloader.bin \ | |
0x8000 installer/firmware/partitions.bin \ | |
0xe000 installer/firmware/boot_app0.bin \ | |
0x10000 installer/firmware/firmware.bin \ | |
0x3D0000 installer/firmware/spiffs.bin | |
fi | |
- 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 |