Skip to content

feat(workflows): add reusable _update-flake-input workflow#20

Merged
JacobPEvans-personal merged 1 commit into
mainfrom
feat/update-flake-input-workflow
Jun 2, 2026
Merged

feat(workflows): add reusable _update-flake-input workflow#20
JacobPEvans-personal merged 1 commit into
mainfrom
feat/update-flake-input-workflow

Conversation

@JacobPEvans-personal
Copy link
Copy Markdown
Member

Summary

Adds _update-flake-input.yml — a reusable workflow_call target that bumps a single flake input and opens a squash-mergeable PR in the calling repo.

Part of the event-driven lock-propagation chain: nix-claude-code release → dispatch → nix-ai → dispatch → nix-darwin. This workflow is the shared implementation that both consumer repos call; the per-repo wiring (dispatch receivers) lands in separate PRs in each repo.

Changes

  • .github/workflows/_update-flake-input.yml (new, reusable)
    • workflow_call inputs: input_name (required), runner_label (optional)
    • Uses GitHub App token (GH_APP_CLIENT_ID var + GH_APP_PRIVATE_KEY secret)
    • DeterminateSystems/determinate-nix-action for Nix install
    • nix flake update <input> → no-op if unchanged, otherwise peter-evans/create-pull-request + auto-merge
    • All input_name references in run: steps go through env vars (injection guard)

Test plan

  • PR merges cleanly (no CI required for config-only workflow file)
  • After per-repo caller PRs land: gh workflow run update-flake-input.yml --repo dryvist/nix-ai -f input_name=nix-claude-code creates a lock-bump PR in nix-ai

🤖 Generated with Claude Code

Reusable workflow_call target for bumping a single flake input and
opening a squash-mergeable PR. Consumers (nix-ai, nix-darwin) call it
via repository_dispatch when an upstream dryvist repo releases.

- Inputs: input_name (required), runner_label (optional, RunsOn default)
- Uses app token for push + PR creation; DeterminateSystems Nix action
- No-op if flake.lock is unchanged; auto-merge enabled on created PR
- input_name is channelled through env vars in run: steps to prevent
  shell injection from attacker-controlled client_payload fields

Assisted-by: Claude:claude-opus-4-8
@JacobPEvans-personal JacobPEvans-personal merged commit 1167320 into main Jun 2, 2026
1 check passed
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