Gitea schedules matrix jobs in reverse definition order on the single
orion-lxc runner, so kiosk (previously defined first) built last. Reverse
the include list so kiosk builds first; order is rpi, android, commercial,
kiosk in the file.
Single .gitea/workflows/build.yml shared by both branches; the checked-out
ref selects the channel, so no per-branch copies.
- dev push -> builds all development images (kiosk, commercial, android, rpi)
- new tag -> builds all production images; manual dispatch also supported
- Raspberry Pi sdImage built on orion-lxc via aarch64 emulation
- production-only baseline preflight (skipped on the dev channel)
- artifact names standardized to radiantwave-<variant>-<prod|dev>-<timestamp>
Consolidates 8 closures to only 4 by using a git branch selector that sets
the values for -dev variants of each closure.
Reference the 'Verifying KioskConfig builds are in the right branch' note
in Obsidian for more reference.
The inline find -exec broke through the double shell hop (the remote
shell consumed the ; separator). The script pipes its payload to remote
bash via stdin, tolerates zero matches, and fails loudly on missing
directories or failed moves.
- Wire -dev variants to the radiantwave-dev input (?ref=dev); prod keeps main
- Fix android-dev upgradeFlakeRef (was upgrading into production config)
- Parameterize one installer module (zero-touch-installer.nix); replace the
four near-duplicate ISO configs; mkIso pairs each ISO with its closure +
disk layout, fixing commercial-dev/android-dev ISO eval errors
- Add missing packages outputs (commercial-dev, android-dev, rpi, rpi-dev)
- Set networking.hostName + system.configurationRevision per variant
- Remove gitea access token and dead netrc/JWT config (repos are public)
- Drop flake.lock update step from CI (lock updates are manual)
- Refresh AGENTS.md: variants/ISO tables, facter report procedure, gotchas
The build-prod and build-dev workflows wrote their ISO/image artifacts to paths tied to the old 'build-server' runner:
- build-prod.yml: /home/runner/radiantwave
- build-dev.yml: /mnt/actions_build_storage/outputs
Both now stage, copy, and clean up artifacts under the new runner's home directory instead:
- build-prod.yml: /home/user/radiantwave
- build-dev.yml: /home/usr/radiantwave
No other behavior changes; the output files are still scp'd to the fileserver and the flake.lock commit step is unchanged.