diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa4e8bda..a512dd82 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,28 +10,43 @@ jobs: strategy: fail-fast: false matrix: - target: - - "ttgo-lora32-v21" - - "heltec-lora32-v2" - - "heltec_wifi_lora_32_V3" - - "heltec_wireless_stick" - - "heltec_wireless_stick_lite_v3" - - "heltec_ht-ct62" - - "ESP32_DIY_LoRa" - - "ESP32_DIY_1W_LoRa" - - "ttgo-t-beam-v1_2" - - "ttgo-t-beam-v1" - - "ttgo-t-beam-v1_SX1268" - - "ttgo-t-beam-v1_2_SX1262" - - "ESP32_DIY_LoRa_A7670" - - "heltec_wireless_tracker" - - "OE5HWN_MeshCom" - - "WEMOS-LOLIN32-OLED-DIY" - - "WEMOS-D1-R32-RA02" - - "ttgo-lora32-v21-915" - board_type: - - "esp32" - - "esp32s3" + board: + - name: ttgo-lora32-v21 + board_type: esp32 + - name: heltec-lora32-v2 + board_type: esp32 + - name: heltec_wifi_lora_32_V3 + board_type: esp32s3 + - name: heltec_wireless_stick + board_type: esp32s3 + - name: heltec_wireless_stick_lite_v3 + board_type: esp32s3 + - name: heltec_ht-ct62 + board_type: esp32c3 + - name: ESP32_DIY_LoRa + board_type: esp32 + - name: ESP32_DIY_1W_LoRa + board_type: esp32 + - name: ttgo-t-beam-v1_2 + board_type: esp32 + - name: ttgo-t-beam-v1 + board_type: esp32 + - name: ttgo-t-beam-v1_SX1268 + board_type: esp32 + - name: ttgo-t-beam-v1_2_SX1262 + board_type: esp32 + - name: ESP32_DIY_LoRa_A7670 + board_type: esp32 + - name: heltec_wireless_tracker + board_type: esp32s3 + - name: OE5HWN_MeshCom + board_type: esp32 + - name: WEMOS-LOLIN32-OLED-DIY + board_type: esp32 + - name: WEMOS-D1-R32-RA02 + board_type: esp32 + - name: ttgo-lora32-v21-915 + board_type: esp32 steps: - uses: actions/checkout@v3 @@ -44,41 +59,45 @@ jobs: - name: Determine board type run: | - if [[ "${{ matrix.board_type }}" == "esp32s3" ]]; then + if [[ "${{ matrix.board.board_type }}" == "esp32s3" ]]; then export BOARD_ENV="esp32s3" else - export BOARD_ENV="esp32" + if [[ "${{ matrix.board.board_type }}" == "esp32c3" ]]; then + export BOARD_ENV="esp32c3" + else + export BOARD_ENV="esp32" + fi fi shell: bash - name: Build target run: | - pio run -e ${{ matrix.target }} --environment $BOARD_ENV + pio run -e ${{ matrix.board.name }} --environment $BOARD_ENV - name: Build FS run: | - pio run --target buildfs -e ${{ matrix.target }} --environment $BOARD_ENV + pio run --target buildfs -e ${{ matrix.board.name }} --environment $BOARD_ENV - name: Move Files run: | mkdir -p installer/firmware - cp .pio/build/${{ matrix.target }}/firmware.bin installer/ota_update.bin - cp .pio/build/${{ matrix.target }}/firmware.bin installer/firmware/ - cp .pio/build/${{ matrix.target }}/bootloader.bin installer/firmware/ - cp .pio/build/${{ matrix.target }}/partitions.bin installer/firmware/ - cp .pio/build/${{ matrix.target }}/spiffs.bin installer/firmware/ + cp .pio/build/${{ matrix.board.name }}/firmware.bin installer/ota_update.bin + cp .pio/build/${{ matrix.board.name }}/firmware.bin installer/firmware/ + cp .pio/build/${{ matrix.board.name }}/bootloader.bin installer/firmware/ + cp .pio/build/${{ matrix.board.name }}/partitions.bin installer/firmware/ + cp .pio/build/${{ matrix.board.name }}/spiffs.bin installer/firmware/ cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin installer/firmware/ #- name: Merge for web flashing # run: | # python installer/bin/esptool/esptool.py --chip esp32 merge_bin -o installer/web_upgrade.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 # 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 2686976 installer/firmware/spiffs.bin - + # python3 -m esptool --chip $BOARD_ENV merge_bin -o installer/web_upgrade.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 + - name: Merge for web flashing run: | python3 -m pip install esptool - python3 -m esptool --chip $BOARD_ENV merge_bin -o installer/web_upgrade.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 python3 -m esptool --chip $BOARD_ENV merge_bin -o installer/web_factory.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 - name: Install Zip @@ -94,5 +113,5 @@ jobs: with: upload_url: ${{ github.event.release.upload_url }} asset_path: ./installer.zip - asset_name: ${{ matrix.target }}.zip + asset_name: ${{ matrix.board.name }}.zip asset_content_type: application/zip diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index ae41dd0c..abac9c1d 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -11,28 +11,43 @@ jobs: strategy: fail-fast: false matrix: - target: - - "ttgo-lora32-v21" - - "heltec-lora32-v2" - - "heltec_wifi_lora_32_V3" - - "heltec_wireless_stick" - - "heltec_wireless_stick_lite_v3" - - "heltec_ht-ct62" - - "ESP32_DIY_LoRa" - - "ESP32_DIY_1W_LoRa" - - "ttgo-t-beam-v1_2" - - "ttgo-t-beam-v1" - - "ttgo-t-beam-v1_SX1268" - - "ttgo-t-beam-v1_2_SX1262" - - "ESP32_DIY_LoRa_A7670" - - "heltec_wireless_tracker" - - "OE5HWN_MeshCom" - - "WEMOS-LOLIN32-OLED-DIY" - - "WEMOS-D1-R32-RA02" - - "ttgo-lora32-v21-915" - board_type: - - "esp32" - - "esp32s3" + board: + - name: ttgo-lora32-v21 + board_type: esp32 + - name: heltec-lora32-v2 + board_type: esp32 + - name: heltec_wifi_lora_32_V3 + board_type: esp32s3 + - name: heltec_wireless_stick + board_type: esp32s3 + - name: heltec_wireless_stick_lite_v3 + board_type: esp32s3 + - name: heltec_ht-ct62 + board_type: esp32c3 + - name: ESP32_DIY_LoRa + board_type: esp32 + - name: ESP32_DIY_1W_LoRa + board_type: esp32 + - name: ttgo-t-beam-v1_2 + board_type: esp32 + - name: ttgo-t-beam-v1 + board_type: esp32 + - name: ttgo-t-beam-v1_SX1268 + board_type: esp32 + - name: ttgo-t-beam-v1_2_SX1262 + board_type: esp32 + - name: ESP32_DIY_LoRa_A7670 + board_type: esp32 + - name: heltec_wireless_tracker + board_type: esp32s3 + - name: OE5HWN_MeshCom + board_type: esp32 + - name: WEMOS-LOLIN32-OLED-DIY + board_type: esp32 + - name: WEMOS-D1-R32-RA02 + board_type: esp32 + - name: ttgo-lora32-v21-915 + board_type: esp32 steps: - uses: actions/checkout@v3 @@ -46,15 +61,19 @@ jobs: - name: Determine board type id: determine-board run: | - if [[ "${{ matrix.board_type }}" == "esp32s3" ]]; then - echo "BOARD_ENV=esp32s3" >> $GITHUB_ENV + if [[ "${{ matrix.board.board_type }}" == "esp32s3" ]]; then + export BOARD_ENV="esp32s3" else - echo "BOARD_ENV=esp32" >> $GITHUB_ENV + if [[ "${{ matrix.board.board_type }}" == "esp32c3" ]]; then + export BOARD_ENV="esp32c3" + else + export BOARD_ENV="esp32" + fi fi shell: bash - name: Build target - run: pio run -e ${{ matrix.target }} + run: pio run -e ${{ matrix.board.name }} - name: Build FS - run: pio run --target buildfs -e ${{ matrix.target }} \ No newline at end of file + run: pio run --target buildfs -e ${{ matrix.board.name }} \ No newline at end of file