fix(deploy/push-cache): sintra target was pushing the live ISO, not the installed toplevel

`./deploy/push-cache.sh sintra` was building+pushing `iso-sintra` while
the Sintra's auto-upgrade pulls `nixosConfigurations.sintra-installed`.
Result: the cache had the ISO closure but not the installed closure, so
every Sintra nixos-upgrade ran the substitution loop, came up empty for
small text-stitch derivations (nix.conf, etc, system-units), and bailed
with `local builds are disabled (max-jobs = 0)`. Caught when
re-provisioning the dev unit to the demo LNbits.

Symmetric fix:
- `sintra` now pushes `nixosConfigurations.sintra-installed.…toplevel`
  (matches the douro/batm3 convention)
- New `sintra-live` target pushes the ISO (matches douro-live)
- `all` now includes `sintra-installed` (was silently missing)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-25 12:01:36 +02:00
commit b9a9d5aaa7

View file

@ -5,10 +5,17 @@
# Requires: nix (Determinate), cachix (authenticated via ~/.config/cachix/cachix.dhall)
#
# Usage:
# ./deploy/push-cache.sh # build + push douro-installed
# ./deploy/push-cache.sh douro # same as above (default)
# ./deploy/push-cache.sh tejo # build + push tejo live config
# ./deploy/push-cache.sh all # build + push all configs
# ./deploy/push-cache.sh # build + push douro-installed (default)
# ./deploy/push-cache.sh sintra # build + push sintra-installed toplevel
# ./deploy/push-cache.sh batm3 # build + push batm3-installed toplevel
# ./deploy/push-cache.sh douro-live # push the live-ISO variant (one-off flash use)
# ./deploy/push-cache.sh sintra-live # same, for sintra
# ./deploy/push-cache.sh tejo # tejo currently lives in iso form only
# ./deploy/push-cache.sh all # build + push every installed + live target
#
# Bare `<model>` targets push the INSTALLED system the auto-upgrade pulls
# from `?ref=<branch>#<model>-installed`. `<model>-live` targets push the
# bootable ISO, used only for fresh USB-flashed installs.
set -euo pipefail
CACHE="aiolabs"
@ -37,6 +44,9 @@ case "$target" in
build_and_push "tejo live ISO" "iso-tejo"
;;
sintra)
build_and_push "sintra-installed toplevel" "nixosConfigurations.sintra-installed.config.system.build.toplevel"
;;
sintra-live)
build_and_push "sintra live ISO" "iso-sintra"
;;
batm3)
@ -47,6 +57,7 @@ case "$target" in
;;
all)
build_and_push "douro-installed toplevel" "nixosConfigurations.douro-installed.config.system.build.toplevel"
build_and_push "sintra-installed toplevel" "nixosConfigurations.sintra-installed.config.system.build.toplevel"
build_and_push "batm3-installed toplevel" "nixosConfigurations.batm3-installed.config.system.build.toplevel"
build_and_push "douro live ISO" "iso-douro"
build_and_push "tejo live ISO" "iso-tejo"
@ -54,7 +65,7 @@ case "$target" in
build_and_push "batm3 live ISO" "iso-batm3"
;;
*)
echo "Usage: $0 [douro|douro-live|tejo|sintra|batm3|batm3-live|all]"
echo "Usage: $0 [douro|douro-live|tejo|sintra|sintra-live|batm3|batm3-live|all]"
exit 1
;;
esac