Skip to content

Update flake.lock on a weekly schedule - #20

Open
tashian wants to merge 1 commit into
mainfrom
carl/scheduled-flake-update
Open

Update flake.lock on a weekly schedule#20
tashian wants to merge 1 commit into
mainfrom
carl/scheduled-flake-update

Conversation

@tashian

@tashian tashian commented Aug 27, 2026

Copy link
Copy Markdown
Member

Follow-up to #19: the flake lock could rot for years without any signal, since build.yml only exercises the live channels via NIX_PATH and README users override the lock with follows. This adds a scheduled workflow (Mondays 07:00 UTC, plus workflow_dispatch) that runs nix flake update and pushes the refreshed lock straight to main as a signed step-ci commit — the same direct-push pattern the goreleaser version bumps use, so no weekly PR to review. The push is gated: nix flake show (which forces evaluation of every package attribute, the exact thing a stale lock breaks) and a nix build .#step-agent must pass with the new lock first, so a bad nixpkgs bump fails the run instead of landing. It reuses the existing NUR_PAT and STEP_TRAVIS_CI_GH_* signing secrets from the test workflows.

Validated with actionlint and zizmor locally (clean with the repo config); the workflow itself can only run post-merge — worth a workflow_dispatch trigger run once it lands.

The lock rotted for two years unnoticed (#19) because build.yml only
exercises the live channels via NIX_PATH and README users override the
lock with follows. This workflow refreshes the pin every Monday, but
pushes only after nix flake show and a package build prove the new lock
works — a bad nixpkgs bump fails the run instead of landing on main. It
reuses the NUR_PAT push and step-ci SSH signing plumbing from the test
workflows, and the direct-push pattern goreleaser version bumps already
use.
@tashian
tashian requested a review from dopey August 27, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant