21 Commits
dev ... v2
Author SHA1 Message Date
NeilClack d0f4caa00b Merge branch 'dev' into main
Build Kiosk Images (x86) / android (push) Successful in 3m41s
Build Kiosk Images (x86) / commercial (push) Successful in 3m38s
Build Kiosk Images (x86) / kiosk (push) Successful in 3m49s
Build Kiosk Image (Raspberry Pi) / rpi (push) Failing after 3h0m0s
2026-10-07 13:04:10 -05:00
NeilClack c3d4898d84 Ignore VERIFY-DEV.md and VERIFY-PROD.md
Local verification checklists kept alongside the checkout; not configuration.
2026-10-07 11:09:07 -05:00
NeilClack 48bab43a21 Make the baked app a real store-path dependency via builtins.storePath
The previous commit wrapped the manifest's storePath string in a
symlinkJoin. symlinkJoin passes its paths as a file, so a bare store-path
string registered no dependency: Nix never substituted the closure and the
symlinkJoin failed with 'radiantwave-: No such file or directory'.

builtins.storePath turns the published path into a real store-path
dependency that Nix substitutes from the channel's Attic cache, so the app
is baked and never compiled. Keep the raw string (publishedPath) for the
updater's plain-string baseline pointer.
2026-10-07 10:48:45 -05:00
NeilClack d54637d249 Bake the channel manifest's closure instead of a pinned app version
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.

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): 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:28:12 -05:00
NeilClack d17def994f ci: use the same single branch-aware build workflow as dev
Replace the four per-variant prod workflows (and the leftover dev workflow)
with the shared .gitea/workflows/build.yml. Main builds on new tags or manual
dispatch; dev pushes build the dev channel. Identical file on both branches.
2026-10-04 18:04:48 -05:00
NeilClack 1ec9fd81e5 Pin moved 1.8 tag and guard the baked baseline against the published channel
build-prod-commercial.yml / build-commercial (push) Canceled after 0s
build-prod-android.yml / build-android (push) Successful in 3m44s
build-prod-kiosk.yml / build-kiosk (push) Successful in 3m39s
The radiantwave 1.8 tag was force-moved from 34c72b5 to a5a6b5b while
flake.lock still pinned the old commit, so the ISO baked a baseline that
was not the closure RadiantWave CI published to Attic. With version 1.8
overridden this could still compile RadiantWave from source instead of
substituting it.

- Update flake.lock so radiantwave?ref=refs/tags/1.8 resolves to a5a6b5b.
- Expose channelVersion/channelAtticUrl/channelManifestDir/baselineOutPaths
  from flake.nix for CI verification.
- Prod workflows: fail fast unless channel.appVersion equals the channel
  manifest version, baselineOutPaths.<system> equals the manifest storePath,
  and that store path exists in the channel's Attic cache.
2026-10-04 15:50:48 -05:00
NeilClack 6fa3c0552b Declare app version per channel and fix Android live updates
- Pin the radiantwave input to tag 1.8 and add channel.appVersion; override the package version so pure builds bake 1.8 instead of RadiantWave's 0.1.0 default.

- radiantwaveUpdaterModule gains a manifestFile arg; Raspberry Pi polls aarch64-manifest.json.

- Launch the rotated/Android kiosk through /var/lib/radiantwave/current so the live updater actually applies.

- Allow unfree in the RPi builder to match x86 and drop the impure NIXPKGS_ALLOW_UNFREE dependency.
2026-10-03 12:07:07 -05:00
NeilClack c684387f60 Merge pull request 'Dev' (#9) from dev into main
build-prod-android.yml / build-android (push) Failing after 2s
build-prod-commercial.yml / build-commercial (push) Failing after 1s
build-prod-kiosk.yml / build-kiosk (push) Failing after 2s
Reviewed-on: #9
2026-10-01 22:28:47 +00:00
NeilClack c720c67975 Update Radiantwave 1.6
build-prod-android.yml / build-android (push) Failing after 1s
build-prod-commercial.yml / build-commercial (push) Failing after 1s
build-prod-kiosk.yml / build-kiosk (push) Failing after 2s
2026-09-11 16:03:48 -05:00
NeilClack 6e446893f3 Point main at the production RadiantWave channel and guard it in CI
build-prod-android.yml / build-android (push) Successful in 5m3s
build-prod-commercial.yml / build-commercial (push) Failing after 4m3s
build-prod-kiosk.yml / build-kiosk (push) Failing after 3m23s
The dev->main merge left the channel block in flake.nix pointing at
radiantwave-dev, so prod ISOs built from main shipped the dev app (which
versions itself by short git hash) and the updater polled the dev Attic
manifest. Restore the channel block to main values, re-pin flake.lock to
the latest radiantwave main revision, and expose channelName so the prod
build workflows can fail fast if main ever resolves to the dev channel.
2026-09-01 09:25:03 -05:00
NeilClack 0860dea6c7 Merge remote-tracking branch 'origin/main' 2026-09-01 09:24:58 -05:00
NeilClack fc7edc0d22 Merge pull request 'Dev' (#8) from dev into main
build-prod-android.yml / build-android (push) Successful in 4m27s
build-prod-kiosk.yml / build-kiosk (push) Successful in 4m32s
build-prod-commercial.yml / build-commercial (push) Successful in 4m39s
Reviewed-on: #8
2026-08-29 02:01:44 +00:00
NeilClack 187581b52a Merge branch 'dev' 2026-08-28 21:00:43 -05:00
NeilClack 46cc6ef5f5 Remove temp files 2026-08-28 21:00:32 -05:00
NeilClack a8f78b282d Merge pull request 'Update radiantwave - rotated' (#7) from dev into main
build-prod-commercial.yml / build-commercial (push) Successful in 4m21s
build-prod-android.yml / build-android (push) Successful in 4m42s
build-prod-kiosk.yml / build-kiosk (push) Successful in 4m14s
Reviewed-on: #7
2026-08-25 16:33:12 +00:00
NeilClack cf7129b888 Merge pull request 'Update Radiantwave 1.3' (#6) from dev into main
build-prod-android.yml / build-android (push) Successful in 4m16s
build-prod-commercial.yml / build-commercial (push) Successful in 4m20s
build-prod-kiosk.yml / build-kiosk (push) Successful in 4m16s
Reviewed-on: #6
2026-08-25 16:00:49 +00:00
NeilClack 0be0b01d73 Merge pull request 'Update RadiantWave 1.2' (#5) from dev into main
build-prod-android.yml / build-android (push) Failing after 12s
build-prod-commercial.yml / build-commercial (push) Failing after 9s
build-prod-kiosk.yml / build-kiosk (push) Failing after 9s
Reviewed-on: #5
2026-08-25 15:34:57 +00:00
NeilClack 2a6df4bbc4 Merge pull request 'Update workflows to run automatically on push to main' (#4) from dev into main
build-prod-android.yml / build-android (push) Successful in 4m25s
build-prod-commercial.yml / build-commercial (push) Successful in 4m27s
build-prod-kiosk.yml / build-kiosk (push) Successful in 4m19s
Reviewed-on: #4
2026-08-25 13:11:49 +00:00
NeilClack f166b25364 Merge pull request 'Dev' (#3) from dev into main
Reviewed-on: #3
2026-08-25 13:05:37 +00:00
NeilClack 7f9566e52c Merge pull request 'Update radiantwave' (#2) from dev into main
Reviewed-on: #2
2026-08-24 02:21:07 +00:00
NeilClack 6d3136c9cb Merge pull request 'Initial Release' (#1) from dev into main
Reviewed-on: #1
2026-08-24 01:36:17 +00:00
10 changed files with 2 additions and 2 deletions
+2 -2
View File
@@ -67,8 +67,8 @@
# not built or pinned by this repo; each channel's published manifest is
# the single source of truth (see `publishedApp` below).
channel = {
atticRepo = "radiantwave-dev"; # dev
gitRef = "?ref=dev"; # dev
atticRepo = "radiantwave"; # main
gitRef = ""; # main
};
# Exposed so CI (see .gitea/workflows/build.yml) and humans can verify
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File