Skip to content

fix: increase frame pool from 3 to 5 slots to prevent exhaustion #46

fix: increase frame pool from 3 to 5 slots to prevent exhaustion

fix: increase frame pool from 3 to 5 slots to prevent exhaustion #46

Workflow file for this run

name: Build
on:
push:
branches: [main]
tags: ["v*"]
pull_request:
branches: [main]
jobs:
build-v5:
name: IDF v5.3.2 / esp32s3
runs-on: ubuntu-latest
permissions:
contents: write # needed to upload release assets
id-token: write # needed for provenance attestation
steps:
- uses: actions/checkout@v4
- uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.3.2
target: esp32s3
path: "."
command: idf.py build
# Merge all flash regions into one file — simpler for users doing a first flash.
# Offsets match partition-table.csv (bootloader 0x0, pt 0x8000, otadata 0x11000, app 0x20000).
# Write merged binary to workspace root — build/ is owned by the
# Docker container from the previous step and is not writable here.
- name: Create merged firmware binary
run: |
pip install esptool --quiet
esptool --chip esp32s3 merge-bin \
--output unitcams3_merged.bin \
0x0 build/bootloader/bootloader.bin \
0x8000 build/partition_table/partition-table.bin \
0x11000 build/ota_data_initial.bin \
0x20000 build/unitcams3_firmware.bin
# Attest provenance for the merged binary.
# Creates a signed SLSA statement on GitHub's transparency log.
# Verify with: gh attestation verify unitcams3_merged.bin --repo hbentel/M5Stack-Unit-CamS3-5MP
# Attestation requires a public repo or GitHub Advanced Security.
# continue-on-error so the build stays green on private forks or forks
# without the id-token:write permission.
- name: Attest build provenance
uses: actions/attest-build-provenance@v2
id: attest
continue-on-error: true
with:
subject-path: unitcams3_merged.bin
# Upload binaries to the GitHub Release (only runs on tag pushes).
- name: Upload firmware to release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: |
unitcams3_merged.bin
build/unitcams3_firmware.bin
build/bootloader/bootloader.bin
build/partition_table/partition-table.bin
build/ota_data_initial.bin
build-v6:
name: IDF v6.0 / esp32s3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: release-v6.0
target: esp32s3
path: "."
command: idf.py build