docs(roadmap): note automated upstream lock-bump CI
Capture the maintainer-side plan to automate advancing Nomarchy's own flake.lock (the single-input delivery channel): a bot drives `main` behind `nix flake check` + the runNixOSTest suite, and a human still promotes `main -> v1` behind the on-hardware QA gate that can't be CI'd. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -552,6 +552,31 @@ how to override it. Items marked ✓ are shipped.
|
||||
passive — it never changes anything, augmenting the explicit rebuild flow.
|
||||
Indicator is in the generated bar and both summer whole-swaps. **Pending an
|
||||
on-machine check** (the ls-remote/notify/timer path needs a live session).
|
||||
- **Automated upstream lock bumps (maintainer CI):** the upstream twin of the
|
||||
user-side checker above — automate advancing Nomarchy's *own* `flake.lock`,
|
||||
which is the entire delivery channel (a downstream takes a single input,
|
||||
`?ref=v1`, so nixpkgs/home-manager/stylix/nixos-hardware reach it
|
||||
*transitively pinned* through that lock; users can't bump them independently).
|
||||
**Tiered by what CI can't do:** the hardware-QA gate (the Latitude 5410 + the
|
||||
AMD dev box — AMD/NPU/Intel-GPU-compute runtime bits aren't testable in CI or
|
||||
on the Intel Latitudes for the AMD paths) can't be automated, so a bot drives
|
||||
`main` and a human still promotes `main → v1`. A scheduled job (Forgejo
|
||||
Actions, or Renovate's Nix manager opening a reviewable lock-diff PR) runs
|
||||
`nix flake update` → `nix flake check` + the existing `runNixOSTest` suite +
|
||||
builds `system.build.toplevel`, and on green lands on `main` — which nobody
|
||||
tracks, so a bad bump costs a debug session, not a user outage; `v1` stays
|
||||
the manual on-hardware gate (it only ever fast-forwards, never force-pushed,
|
||||
or a user's locked rev can vanish from history). **Cadence weekly**
|
||||
(release-26.05 doesn't move fast; nightly is just churn), and `nix flake
|
||||
update` stays *within* the pinned release branches — no surprise major bump
|
||||
(a 26.11 jump is a deliberate `v2`, hand-edited in flake.nix). Side benefit:
|
||||
shrinks the security-patch latency the single-input model otherwise imposes
|
||||
(users are gated on the maintainer for nixpkgs CVEs), since a fix is usually
|
||||
already eval/build/VM-tested and one hardware promotion away from `v1` —
|
||||
worth fast-laning lock-only/security bumps ahead of feature batches. The repo
|
||||
has **no CI today** (manual `nix flake update` only). Explicitly *not* a
|
||||
binary cache: compile-from-source is a deliberate values call (Gentoo-style),
|
||||
so this automates the *config/lock* channel, not artifact distribution.
|
||||
- **"nomarchy" control center:** a single TUI/GUI front-end over the common
|
||||
toggles — theme, power profile, opt-in services, display, DND — built on
|
||||
the same `nomarchy-theme-sync` / `nomarchy.*` surface the menu already
|
||||
|
||||
Reference in New Issue
Block a user