CI: JVM tests, host C tests and both watchapp builds on every push #67

Open
opened 2026-09-01 17:35:45 +02:00 by robert · 0 comments
robert commented 2026-09-01 17:35:45 +02:00 (Migrated from git.butzei.de)

Goal

Run the tests on every push. NFR-C7 was filed as "Open - recommended"; it is the cheapest quality win in the plan and it protects the fixture suites that #38 and #39 build.

Acceptance criteria

  • CI runs on every push and every pull request
  • JVM unit tests for the companion (#22, #39, #65)
  • Host-compiled watchapp logic tests (#68)
  • pebble build for both emery and gabbro, failing on warnings that matter
  • Android assemble, so a broken Gradle setup is caught before a ride
  • Enrichment fixtures (#38) run without network and without BRouter installed
  • Build status visible on the repository
  • Runtime kept short enough that it is not routinely skipped - target under 10 minutes
  • No secrets required for any CI job; anything needing a key is skipped with a clear message, per NFR-S3

Files

  • .gitea/workflows/ci.yml

Notes

See D34. The watchapp build matters as much as the tests: three screen geometries and a lot of PBL_IF_ROUND_ELSE, and a build that only ever runs on one developer's machine will break on the other platform quietly.

## Goal Run the tests on every push. NFR-C7 was filed as "Open - recommended"; it is the cheapest quality win in the plan and it protects the fixture suites that #38 and #39 build. ## Acceptance criteria - [ ] CI runs on every push and every pull request - [ ] JVM unit tests for the companion (#22, #39, #65) - [ ] Host-compiled watchapp logic tests (#68) - [ ] `pebble build` for **both** `emery` and `gabbro`, failing on warnings that matter - [ ] Android assemble, so a broken Gradle setup is caught before a ride - [ ] Enrichment fixtures (#38) run without network and without BRouter installed - [ ] Build status visible on the repository - [ ] Runtime kept short enough that it is not routinely skipped - target under 10 minutes - [ ] No secrets required for any CI job; anything needing a key is skipped with a clear message, per NFR-S3 ## Files - `.gitea/workflows/ci.yml` ## Notes See D34. The watchapp build matters as much as the tests: three screen geometries and a lot of `PBL_IF_ROUND_ELSE`, and a build that only ever runs on one developer's machine will break on the other platform quietly.
Sign in to join this conversation.
No description provided.