68 Commits
Author SHA1 Message Date
NeilClack a33a586485 Bake the channel manifest's closure instead of a pinned app version
Build Kiosk Image (Raspberry Pi) / rpi (push) Canceled after 9s
Build Kiosk Images (x86) / android (push) Failing after 19s
Build Kiosk Images (x86) / commercial (push) Failing after 18s
Build Kiosk Images (x86) / kiosk (push) Failing after 18s
Production builds failed CI's baseline preflight because flake.nix pinned
the app to tag 1.8 (channel.appVersion = "1.8") while the published
manifest had moved on to 1.9; dev was likewise pinned to a stale commit.

Stop pinning the app anywhere. flake.nix now fetches the channel's
published manifest at eval time (builtins.fetchurl) and bakes its
storePath verbatim, so every image carries exactly the closure RadiantWave
published to Attic and never compiles the app from source.

- flake.nix: drop the radiantwave/radiantwave-dev inputs, appInput,
  appVersion, channelVersion and baselineOutPaths; add channelAtticUrl,
  channelManifestDir and publishedApp; builders consume the published path.
- configuration.nix: wrap the published store path in a symlinkJoin so it
  can live in environment.systemPackages; add --impure to autoUpgrade
  flags and set tarball-ttl = 0 so eval reads the current manifest.
- radiantwave-updater.nix: baselinePackage (package) -> baselinePath (str),
  seeded from the exact manifest path.
- CI (build.yml, build-rpi.yml): replace the version-equality preflight with
  a fail-fast check that the announced closure is in the channel's Attic;
  set tarball-ttl = 0.
- build-rpi.sh: pass --impure.
- AGENTS.md: document the manifest-driven baseline.
2026-10-07 10:26:17 -05:00
NeilClack eafa4b6e26 Split raspberry pi build into a separate workflow
Build Kiosk Image (Raspberry Pi) / rpi (push) Canceled after 9s
Build Kiosk Images (x86) / android (push) Successful in 4m4s
Build Kiosk Images (x86) / commercial (push) Successful in 3m47s
Build Kiosk Images (x86) / kiosk (push) Successful in 3m41s
2026-10-04 18:34:31 -05:00
NeilClack 44d402b179 ci: define kiosk last so it builds first
Build Kiosk Images / android (push) Canceled after 0s
Build Kiosk Images / commercial (push) Canceled after 0s
Build Kiosk Images / kiosk (push) Canceled after 0s
Build Kiosk Images / rpi (push) Canceled after 0s
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.
2026-10-04 18:16:12 -05:00
NeilClack e50391ba9e ci: unify all kiosk build jobs into one branch-aware workflow
Build Kiosk Images / android (push) Canceled after 0s
Build Kiosk Images / commercial (push) Canceled after 0s
Build Kiosk Images / kiosk (push) Canceled after 0s
Build Kiosk Images / rpi (push) Canceled after 8m21s
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>
2026-10-04 18:04:35 -05:00
NeilClack b6de748f8f Replace radiantwave-infra with IP address
Build Dev ISOs / build-dev-kiosk (push) Successful in 1m20s
Build Dev ISOs / build-dev-android (push) Successful in 1m36s
Build Dev ISOs / build-dev-commercial (push) Successful in 3m47s
2026-09-30 14:25:42 -05:00
NeilClack cac2e455ec Update output file path
Build Dev ISOs / build-dev-kiosk (push) Failing after 13s
Build Dev ISOs / build-dev-android (push) Failing after 12s
Build Dev ISOs / build-dev-commercial (push) Failing after 11s
2026-09-30 12:27:04 -05:00
NeilClack 85788ce32d Update action runner to orion-lxc
Build Dev ISOs / build-dev-kiosk (push) Failing after 1s
Build Dev ISOs / build-dev-android (push) Failing after 1s
Build Dev ISOs / build-dev-commercial (push) Failing after 1s
2026-09-30 12:04:51 -05:00
NeilClack b136d1751b Merge -dev closures.
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m55s
Build Dev ISOs / build-dev-android (push) Successful in 4m52s
Build Dev ISOs / build-dev-commercial (push) Successful in 4m53s
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.
2026-08-28 20:15:32 -05:00
NeilClack 48c31d0f0c Move home systems to first build slot
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m56s
Build Dev ISOs / build-dev-android (push) Successful in 4m45s
Build Dev ISOs / build-dev-commercial (push) Successful in 5m10s
2026-08-27 21:26:45 -05:00
NeilClack c1ad4a9767 Remove archive steps...
Build Dev ISOs / build-dev-android (push) Successful in 4m41s
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m34s
Build Dev ISOs / build-dev-commercial (push) Successful in 5m6s
2026-08-25 21:49:09 -05:00
NeilClack 47dc7b8964 Update dev builds to build each -dev variant
Build Dev ISOs / build-dev-kiosk (push) Failing after 3m18s
Build Dev ISOs / build-dev-android (push) Canceled after 0s
Build Dev ISOs / build-dev-commercial (push) Canceled after 2m20s
2026-08-25 21:43:20 -05:00
NeilClack 8775fcfb24 Update workflows to run automatically on push to main
Build Dev ISO / build-dev-iso (push) Canceled after 0s
2026-08-25 08:09:26 -05:00
NeilClack 2e862c13a8 fix: replace fragile ssh archive one-liners with tools/archive-images.sh
Build Dev ISO / build-dev-iso (push) Failing after 3m18s
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.
2026-08-23 15:45:11 -05:00
NeilClack 84ec13b1f9 ci: restore dev ISO workflow, auto-build on dev push, use Attic
Build Dev ISO / build-dev-iso (push) Failing after 3m19s
2026-08-23 15:22:34 -05:00
NeilClack 588f0e4aa1 ci: pull closures from Attic caches in prod builds 2026-08-23 15:22:34 -05:00
NeilClack 46384e6cf7 Fix attic upload
build-dev / nix-build (push) Failing after 1s
2026-08-23 15:07:22 -05:00
NeilClack 6951d35310 fix: make manual dev checkout work (fetch all branch tips, drop bad cd) 2026-08-23 14:53:32 -05:00
NeilClack 7778da3867 fix: tolerate empty archive globs; clone dispatched ref in dev workflow 2026-08-23 14:49:44 -05:00
NeilClack 65a6b256f9 Fix dev/prod split and dev ISOs; consolidate zero-touch installer
- 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
2026-08-23 09:58:46 -05:00
NeilClack 439e646170 Remove archive command 2026-08-18 23:02:32 -04:00
NeilClack a4f4d17d6e Add archive step to prod workflows; rename radiantwave-iso to radiantwave-home 2026-08-17 22:51:11 -05:00
NeilClack 75cce42de5 Add cleanup command for fileserver 2026-08-17 22:23:37 -05:00
NeilClack 572ab76100 Add name 2026-08-17 22:13:01 -05:00
NeilClack d37c794be4 Fix repository pointers 2026-08-17 22:08:47 -05:00
NeilClack 143119477f ci: split prod builds into separate manually-triggered workflows
build-dev.yml / update-and-build (push) Canceled after 3m26s
2026-08-17 13:57:14 -05:00
NeilClack b584016db2 Remove unused build steps 2026-08-17 13:36:37 -05:00
NeilClack c71b5ebc84 fix: use SSH clone instead of actions/checkout
build-dev.yml / update-and-build (push) Failing after 3m12s
2026-08-17 12:18:31 -05:00
NeilClack 6656c44de4 fix: disable persist-credentials on checkout (public repo)
build-dev.yml / update-and-build (push) Failing after 28s
2026-08-17 12:17:34 -05:00
NeilClack 2788d27fdc fix: remove checkout token (repo is public)
build-dev.yml / update-and-build (push) Failing after 32s
2026-08-17 12:13:59 -05:00
NeilClack 72a564c9ef fix: add checkout token, adjust workflow triggers
build-dev.yml / update-and-build (push) Failing after 1s
2026-08-17 12:13:40 -05:00
NeilClack 2185792cf4 fix: use actions/checkout@v4 (v6 does not exist)
build-prod.yml / update-and-build (push) Canceled after 16s
2026-08-17 12:11:58 -05:00
NeilClack 3b9c501aa8 Fix actions URLs
build-prod.yml / update-and-build (push) Canceled after 6s
2026-08-17 12:07:10 -05:00
NeilClack 1e0380a8c4 remove automated builds, favoring intentional builds 2026-08-07 23:58:02 -05:00
NeilClack 835e1b0f0c Remove gitea authentication setup 2026-08-07 20:41:09 -05:00
NeilClack e0a95e015c Attempt Gitea auth 2026-08-07 17:41:24 -05:00
NeilClack 06f02d49b9 update radiantwave to radiatnwave-dev 2026-08-07 17:39:26 -05:00
NeilClack 8d388eda13 Update iso name 2026-08-07 17:36:38 -05:00
NeilClack d0ecc74dc8 Rebuild build-dev.yml workflow based on build-prod.yml 2026-08-07 17:35:38 -05:00
NeilClack 2209f90c5a Fix output directory location 2026-08-06 21:59:21 -05:00
NeilClack 10a99540b1 Update CI artifact paths for new self-hosted runner
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.
2026-08-06 21:56:39 -05:00
NeilClack 3b2bd6e194 Update actions runner to new self-hosted runner & add manual deploys 2026-08-06 10:12:41 -05:00
NeilClack 834a5aeef5 Add manual trigger to production workflow 2026-08-03 02:48:30 -05:00
NeilClack 5617a23c6e Update commit message 2026-08-02 08:23:53 -05:00
NeilClack 1d2345c280 Fix upload ssh targets 2026-08-02 01:59:22 -05:00
NeilClack ff256288e0 Update workflow to be more verbose 2026-08-02 01:39:34 -05:00
NeilClack 8699d1f8b2 Fix incorrect closure names.
Some closures have been renamed. The build steps have been updated accordingly.
2026-08-02 01:05:03 -05:00
NeilClack 2bc6083329 Remove Gitea authentication.
RadiantWave has temporarily been moved to a public repository.
2026-08-02 01:04:40 -05:00
NeilClack 0d5f2914d2 Build prod without RPI image 2026-07-29 20:08:10 -05:00
NeilClack 9828e281ee fix folder creation..? 2026-07-29 11:10:31 -05:00
NeilClack 0e32b07cee UPdate build actions; copy files to server; remove notifications 2026-07-28 10:40:02 -05:00