Add a Docker-based build image and wire it into CI for the watch app
build / build (push) Failing after 0s

This commit is contained in:
ml
2026-07-18 07:52:40 +02:00
parent 4e83ebbf50
commit ff2b43f1e0
11 changed files with 286 additions and 4472 deletions
+18
View File
@@ -60,6 +60,10 @@ watch/ The actual Pebble watchapp - links engine/src/
from the rest of this repo (`make watchapp`,
below) - requires the Pebble SDK.
docs/ Architecture/dataflow diagrams, input/output format reference.
build-image/ Dockerfile for the reproducible build environment
(C toolchain + Pebble SDK) used by CI and by the
build-image.sh/run-image.sh/upload-image.sh scripts
at the repo root (see "Building" below).
Makefile Single root Makefile, builds both engine/ and
interpreter/, and packages a release (`make package`).
```
@@ -94,6 +98,20 @@ make watchapp # -> dist/deck-in-a-dash-<version>.pbw, same version
# resolution as `make package`
```
**CI runs `make watchapp` too**`.gitea/workflows/build.yml` builds
and tests everything inside a container built from `build-image/`,
which bundles the Pebble SDK alongside the C toolchain so the runner
itself doesn't need either installed. To build/test that image
yourself, copy `registry.env.example` to `registry.env` and fill in
your registry credentials, then:
```bash
./build-image.sh # build and locally tag the image
./run-image.sh # run `make test package watchapp` inside it, against
# this checkout, for a CI-equivalent local build
./upload-image.sh # push the image so CI can pull it
```
## Running
**Daily use**, via `dist/run-engine.sh`: pulls today's date and the