Commit graph fp6-img/.forgejo
Author SHA1 Message Date
8117b30384
imsd: install the published apk instead of building it
The imsd repo's package CI is now the only producer of the imsd apk. The
image installs the exact registry package users get via 'apk upgrade'
(pinned version + sha256 of the registry files), so the two can no longer
diverge and the payload-parity rule between two packagings is gone.

pmbootstrap has no knob for a third-party repository, and after the main
'apk add' it re-adds every package in its local packages dir by file path,
which makes apk verify the package's own signature. Registry packages are
signed with per-run keys nobody keeps (phones trust the registry-signed
index), so apk-resign.py replaces the signature stream with one from this
run's abuild key; control and data streams stay byte-identical and the
identity checksum equals the registry's. Verified on the host with apk
3.0.8: originals UNTRUSTED, re-signed OK, checksums equal.

The publish step skips imsd-*: those files came from the registry.
2026-09-15 22:36:12 +02:00
b49774caaa 112 tested
All checks were successful
image / image (push) Successful in 2h4m28s
2026-08-18 15:20:55 +02:00
8eb33fc87d compressed single artifact
All checks were successful
image / image (push) Successful in 1h53m3s
2026-08-10 16:22:20 +02:00
630db1179a CI fix
All checks were successful
image / image (push) Successful in 1h54m4s
2026-08-09 14:58:41 +02:00
851526f3fc package updates: Forgejo apk registry publishing + repo-config aport
CI publishes every locally built apk to the instance's Alpine registry
(catbot credentials via the PACKAGE_TOKEN secret; step skips until it
exists). catcrafts-fp6-repo ships the registry signing key and appends
the repo URL - NOT yet in extra_packages: the registry must have its
first content before image builds may reference it (an empty repo's
missing APKINDEX would break apk in the build chroots).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 22:33:45 +02:00
3bc6e88249 ci: provision bash for the forgejo-release action
Run 11 built and uploaded everything; only the release step died on
alpine's missing bash.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 21:52:46 +02:00
9e30e6b4ee build.sh: write pmbootstrap config directly; propagate errors; keep checkout root-owned
Some checks failed
image / image (push) Failing after 1m40s
'pmbootstrap config' demands an existing config file, so write
pmbootstrap_v3.cfg ourselves (INI, aports/device/ui/systemd). Explicit
set -eu because 'sh script' ignores shebang flags - run 3 shipped a
3.5KB 'image' because failures didn't propagate. dist/ is now the only
build-user-owned path, so the tag step's git works again.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:30:19 +02:00
a702800dea ci: provision nodejs+git before Node actions run
Some checks failed
image / image (push) Failing after 4s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:21:47 +02:00
074d1b1c90 build.sh: first runnable revision
Some checks failed
image / image (push) Failing after 11s
Learned from the pmbootstrap 3.11 source: aports overlays must replace
upstream dirs in one tree (duplicate pkgnames are a hard error), pmbootstrap
refuses root (drop to a sudo-capable build user), and export symlinks are
boot.img + fairphone-fp6.img. Stage 1 builds without imsd until the v0.3.0
tag exists. Temporary push trigger for bring-up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:20:02 +02:00
de2e819a16 scaffold: aports overlay, build script, CI workflow, README
Kernel aport forked from pmaports 7.1.2-r0, repointed at milos-linux
combined-stable with the tested FP6 config (+EFI_ZBOOT for packaging);
imsd + nftables aports from the pending pmaports submission. build.sh
carries TODO(validate) markers - not yet run end-to-end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 15:42:45 +02:00