Skip to content

fix: replace update-flake-lock to drop Node.js 20 sub-actions#3

Merged
otavio merged 1 commit into
mainfrom
update-flake-lock-node24
Jun 15, 2026
Merged

fix: replace update-flake-lock to drop Node.js 20 sub-actions#3
otavio merged 1 commit into
mainfrom
update-flake-lock-node24

Conversation

@otavio

@otavio otavio commented Jun 15, 2026

Copy link
Copy Markdown
Member

What

Replace the DeterminateSystems/update-flake-lock@v28 step in
update-flake/action.yml with an inline implementation:
nix flake update --commit-lock-file (pure Nix, no Node) +
peter-evans/create-pull-request@v8 (Node.js 24).

Why

update-flake-lock pulls in four sub-actions still on the Node.js 20
runtime (write-file-action, read-file-action, handlebars-action,
create-pull-request@v7). GitHub forces these to Node.js 24 on 2026-06-16
and removes the Node.js 20 runtime on 2026-09-16.

The latest release (v28) still pins all four, and the two leaf actions doing
PR-body templating have no Node.js 24 release at all, so bumping the
dependency cannot fix it. Reimplementing inline leaves exactly one Node action
in the chain, on Node.js 24.

Notes

  • Nix's --commit-lock-file changelog becomes the PR body (replacing the
    templating chain). Behavior, inputs and outputs are preserved.
  • Adds pr-title / pr-branch inputs; defaults preserve the previous title
    and branch name.
  • CI here exercises the root action only, not update-flake/. The real
    acceptance test is a consumer run showing no "Node.js 20 actions are
    deprecated" annotation.

DeterminateSystems/update-flake-lock pulls in four sub-actions still on the
Node.js 20 runtime, which GitHub forces to Node.js 24 on 2026-06-16 and removes
entirely on 2026-09-16. Its latest release (v28) still pins all four, and the
two leaf actions doing PR-body templating have no Node.js 24 release at all, so
bumping the dependency cannot fix it.

Reimplement the step inline: `nix flake update --commit-lock-file` (pure Nix, no
Node) produces the lock change and its per-input changelog, which becomes the PR
body; peter-evans/create-pull-request@v8 (Node.js 24) opens the PR. Only one
Node action remains in the chain and it runs on Node.js 24.

Also add pr-title and pr-branch inputs (defaults preserve the previous title and
branch name) so the PR title / commit summary and head branch are configurable.
@otavio
otavio merged commit 348118f into main Jun 15, 2026
9 checks passed
@otavio
otavio deleted the update-flake-lock-node24 branch June 15, 2026 01:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant