Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/dependabot-sync-actions-comments.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Sync Dependabot action pin comments

# Thin caller: all logic lives in basecamp/.github's reusable workflow —
# trusted default-branch code that fetches the Dependabot head branch as data
# only, rewrites stale `# vX.Y.Z` pin comments, and pushes back behind a
# compare-and-swap lease using the write deploy key scoped to this repo's
# dependabot-sync environment.

on:
workflow_run: # zizmor: ignore[dangerous-triggers] -- only the SHA-pinned reusable workflow (reviewed default-branch code) executes; the Dependabot head branch is fetched as data, never executed
workflows: [CI]
types: [completed]
Comment thread
cubic-dev-ai[bot] marked this conversation as resolved.
branches: ["dependabot/github_actions/**"]
workflow_dispatch:
inputs:
branch:
description: Dependabot branch to sync (dependabot/github_actions/...)
required: true
type: string
e2e:
description: "E2E proof mode: expect a draft PR authored by the dispatcher on a dependabot/github_actions/e2e-proof-* branch"
required: false
default: false
type: boolean

permissions: {}

jobs:
sync:
# Defense-in-depth behind the trigger-level branches filter (which stops
# runs from being created for other branches at all); the reusable
# workflow re-checks this and everything else.
if: >-
github.event_name == 'workflow_dispatch' ||
startsWith(github.event.workflow_run.head_branch, 'dependabot/github_actions/')
uses: basecamp/.github/.github/workflows/dependabot-sync-actions-comments.yml@95a9f7a2bd69c73cd2839eb4a27616e1651497e2
with:
ci-workflow-name: CI
default-branch: master
branch: ${{ inputs.branch || '' }}
e2e: ${{ inputs.e2e || false }}
Comment thread
jeremy marked this conversation as resolved.
permissions:
contents: read
actions: write
pull-requests: read
# The deploy key is scoped to this repo's dependabot-sync environment
# (deployment branches: default branch only); environment secrets cannot
# be forwarded explicitly to a reusable workflow, so inherit is required.
secrets: inherit # zizmor: ignore[secrets-inherit] -- see above; the called workflow is SHA-pinned and reads only SYNC_ACTIONS_DEPLOY_KEY, gated by the dependabot-sync environment
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
persist-credentials: false

- name: Set up Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v6.4.0 # zizmor: ignore[cache-poisoning] -- cache is branch-isolated; fork PRs cannot write to this cache
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 # zizmor: ignore[cache-poisoning] -- cache is branch-isolated; fork PRs cannot write to this cache
with:
go-version-file: go.mod

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Security

on:
workflow_dispatch:
Comment thread
jeremy marked this conversation as resolved.
workflow_call:
push:
branches: [master]
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: CI

on:
workflow_dispatch:
push:
branches: [master]
pull_request:
Expand Down
Loading