ci: OTA release pipeline — build + attach firmware binaries (bd-9kod) #730

Merged
sl-jetson merged 1 commits from sl-jetson/bd-9kod-ota-ci into main 2026-04-17 23:10:27 -04:00
Collaborator

Summary

Adds .gitea/workflows/ota-release.yml — a Gitea Actions CI pipeline that builds ESP32-S3 firmware on tagged releases and attaches the binary + checksum to the Gitea release for OTA download.

Trigger

Tag pattern Board Build dir
esp32-balance/vX.Y.Z ESP32-S3 Balance esp32s3/balance/
esp32-io/vX.Y.Z ESP32-S3 IO esp32s3-io/

What the pipeline does

  1. Uses espressif/idf:v5.2.2 Docker container for reproducible builds
  2. Resolves the project directory from the tag prefix
  3. Runs idf.py build via . ${IDF_PATH}/export.sh
  4. Produces <app>_<version>.bin + <app>_<version>.sha256
  5. Creates the Gitea release (if not yet created) and uploads both files as release assets
  6. Also archives artifacts via actions/upload-artifact for inspection

Notes

  • esp32s3-io/ directory is a future addition — the CI is ready for it
  • GITHUB_TOKEN (auto-provided with contents: write) is used for Gitea API calls
  • Tag URL-encoding handles the slash in esp32-balance/vX.Y.Z

Closes bd-9kod

## Summary Adds `.gitea/workflows/ota-release.yml` — a Gitea Actions CI pipeline that builds ESP32-S3 firmware on tagged releases and attaches the binary + checksum to the Gitea release for OTA download. ### Trigger | Tag pattern | Board | Build dir | |---|---|---| | `esp32-balance/vX.Y.Z` | ESP32-S3 Balance | `esp32s3/balance/` | | `esp32-io/vX.Y.Z` | ESP32-S3 IO | `esp32s3-io/` | ### What the pipeline does 1. Uses `espressif/idf:v5.2.2` Docker container for reproducible builds 2. Resolves the project directory from the tag prefix 3. Runs `idf.py build` via `. ${IDF_PATH}/export.sh` 4. Produces `<app>_<version>.bin` + `<app>_<version>.sha256` 5. Creates the Gitea release (if not yet created) and uploads both files as release assets 6. Also archives artifacts via `actions/upload-artifact` for inspection ### Notes - `esp32s3-io/` directory is a future addition — the CI is ready for it - `GITHUB_TOKEN` (auto-provided with `contents: write`) is used for Gitea API calls - Tag URL-encoding handles the slash in `esp32-balance/vX.Y.Z` Closes bd-9kod
sl-jetson added 1 commit 2026-04-17 22:11:47 -04:00
Adds .gitea/workflows/ota-release.yml: triggered on esp32-balance/vX.Y.Z
or esp32-io/vX.Y.Z tags, builds the corresponding ESP32-S3 project with
espressif/idf:v5.2.2, and attaches <app>_<version>.bin + .sha256 to the
Gitea release for OTA download.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson merged commit 3f0508815d into main 2026-04-17 23:10:27 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#730
No description provided.