Add CI build workflow and root Makefile

- .github/workflows/build.yml: build the Flipper FAP (ufbt, release + dev
  SDK channels), the Cloudflare Worker (tsc + wrangler dry-run bundle) and
  the ESP32-S2 firmware (ESP-IDF v5.2.8) on every push to main and every
  pull request; syntax-check the inline scripts of the web image-prep page;
  run `ufbt lint` as a non-blocking advisory job. No path filters, because
  the shared UART protocol header is compiled into both the FAP and the
  ESP firmware.
- Makefile: one entry point for developers (setup, build-all, build-fap,
  build-worker, build-esp, launch, flash-esp, serve-web, lint, clean).
  Works with the stock GNU Make 3.81 on macOS. Auto-detects the ESP-IDF
  Python virtualenv when export.sh would otherwise look for one matching
  a newer system python3.
- esp32-wifi-fw/sdkconfig.defaults: pin CONFIG_IDF_TARGET="esp32s2" so
  clean builds (CI, fresh clones) no longer fall back to plain esp32.
- cloud-plugins/package.json: add the `build` script (wrangler dry-run
  bundle) that the Makefile and CI rely on.
- README/CONTRIBUTING: document the make targets and CI; add a build badge.
- .gitignore: ignore .venv/ and the .clang-format generated by ufbt lint.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
HoggorminoandClaude Fable 5.1 committed 2026-09-15 10:02:02 +02:00
1 parent b6ebe46d0f
commit 464ff1ae67
7 files changed
+489 -1

No files matched your search

+1
View File
@@ -4,6 +4,7 @@
"private": true,
"description": "Cloudflare Worker that renders TagTinker WiFi plugins server-side.",
"scripts": {
"build": "wrangler deploy --dry-run --outdir dist",
"dev": "wrangler dev",
"deploy": "wrangler deploy",
"tail": "wrangler tail"