Sync Dependabot action pin comments via reusable workflow - #572
Conversation
Thin caller for basecamp/.github's dependabot-sync-actions-comments reusable workflow (basecamp/.github#8): after CI completes on a Dependabot github_actions branch, trusted default-branch code fixes any stale pin version comments and pushes back behind a compare-and-swap lease, using the write deploy key scoped to this repo's dependabot-sync environment (deployment branches: default branch only).
One-time catch-up applying what the new sync workflow will maintain automatically: version comments on SHA-pinned uses lines whose trailing zizmor annotations prevented Dependabot from rewriting them.
Sensitive Change Detection (shadow mode)This PR modifies control-plane files:
|
There was a problem hiding this comment.
Pull request overview
Adds a repository workflow that delegates to the basecamp/.github reusable workflow to keep Dependabot github_actions PR branches’ # vX.Y.Z pin comments in sync, plus a one-time catch-up of stale pin comment versions in the release workflow.
Changes:
- Add
.github/workflows/dependabot-sync-actions-comments.ymlas a thin caller for the SHA-pinned reusable workflow that performs the sync/push behind a CAS lease. - Update
actions/setup-goandactions/cachepin comments inrelease.ymlto match the already-pinned SHAs.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/dependabot-sync-actions-comments.yml | New workflow entrypoint that triggers on workflow_run / workflow_dispatch and delegates to the pinned reusable workflow. |
| .github/workflows/release.yml | One-time catch-up updating stale # vX.Y.Z pin comments to match existing pinned SHAs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Review feedback: the job-level if only skips the job after the run is created; a trigger-level branches filter stops runs from being created for non-Dependabot branches at all. The if stays as defense-in-depth.
Thin caller for the
dependabot-sync-actions-commentsreusable workflow (basecamp/.github#8, merged as 95a9f7a2). After CI completes on a Dependabotgithub_actionsbranch, trusted default-branch code fixes any stale# vX.Y.Zpin comments — including compound ones with trailing# zizmor: ignore[...]annotations that Dependabot can't rewrite — and pushes back behind a compare-and-swap lease.Security model (openclaw-basecamp lineage, hardened after basecamp-sdk#458 review): the Dependabot head branch is fetched as data and never executed; the push uses a write deploy key scoped to this repo's
dependabot-syncenvironment, whose deployment branch policy allows only the default branch (App tokens can't push workflow-file changes at all). Environment + deploy key are already provisioned.Second commit is a one-time catch-up running the updater against current workflows: 3 stale comments in release.yml (setup-go v6.4.0→v6.5.0 ×2, cache v5.0.5→v6.1.0).
Runtime validation: after merge, a
workflow_dispatchrun against a live Dependabot actions branch (basecamp-cli#566 is the standing candidate) proves the full fix→guard→push→re-CI loop.Summary by cubic
Adds a workflow to auto-sync Dependabot Actions pin comments after CI, keeping
# vX.Y.Zhints accurate without running untrusted code. Also updates stale comment versions inrelease.yml(actions/setup-go→ v6.5.0;actions/cache→ v6.1.0)..github/workflows/dependabot-sync-actions-comments.yml, a thin caller for the SHA-pinned reusable workflow inbasecamp/.github.workflow_runofTestfordependabot/github_actions/**only, plus manualworkflow_dispatch(branch,e2einputs); keeps a job-levelifas defense-in-depth.# zizmor: ignore[...], on Dependabot action PR branches.dependabot-syncenvironment with minimal permissions andsecrets: inherit.Written for commit 4238cf9. Summary will update on new commits.