Whiteboard and tasks-source save/clear used to just tell the user to reload the page to see the change. Both endpoints always assign a successful "set" to the calling user, so the new state is fully known client-side already -- rewrite the "Currently using/showing ..." block in place instead, no server round trip or reload needed. Also adds .gitea/workflows/firmware-build-check.yml: builds both board variants (devkit, xiao) on every push touching firmware/**, unlike firmware-release-build.yml which only builds on a version.txt bump. Verified both builds succeed locally against the actual ESP-IDF toolchain before wiring this in.
52 lines
2.0 KiB
YAML
52 lines
2.0 KiB
YAML
name: Firmware build check
|
|
|
|
# Fires on every push touching firmware source, unlike
|
|
# firmware-release-build.yml (which only builds+publishes when
|
|
# firmware/version.txt itself is bumped -- the "cut a release" signal).
|
|
# This just verifies both board variants still compile; nothing else in
|
|
# CI catches a firmware/** push that breaks the build until someone
|
|
# happens to bump the version next.
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- "firmware/**"
|
|
- ".gitea/workflows/firmware-build-check.yml"
|
|
|
|
jobs:
|
|
build-check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Same docker create/cp/start pattern as firmware-release-build.yml
|
|
# (see that file's own comment for why -- the runner's job
|
|
# workspace lives in a named Docker volume, not a real host path,
|
|
# so a nested `docker run -v "$PWD:..."` bind-mounts nothing
|
|
# useful). No release/artifact step here -- this only needs to
|
|
# prove `idf.py build` still succeeds for each board.
|
|
- name: Build (devkit -- ESP32-C6-DevKitC-1)
|
|
run: |
|
|
cid=$(docker create -w /workspace/firmware espressif/idf:release-v6.0 bash -c '
|
|
git config --global --add safe.directory /workspace &&
|
|
. "$IDF_PATH/export.sh" &&
|
|
./build_for_board.sh devkit set-target esp32c6 &&
|
|
./build_for_board.sh devkit build
|
|
')
|
|
docker cp "$PWD/." "$cid:/workspace"
|
|
docker start -a "$cid"
|
|
docker rm "$cid"
|
|
|
|
- name: Build (xiao -- Seeed XIAO ESP32-C6)
|
|
run: |
|
|
cid=$(docker create -w /workspace/firmware espressif/idf:release-v6.0 bash -c '
|
|
git config --global --add safe.directory /workspace &&
|
|
. "$IDF_PATH/export.sh" &&
|
|
./build_for_board.sh xiao set-target esp32c6 &&
|
|
./build_for_board.sh xiao build
|
|
')
|
|
docker cp "$PWD/." "$cid:/workspace"
|
|
docker start -a "$cid"
|
|
docker rm "$cid"
|