Skip to content

ci: harden GitHub Actions workflows#20

Merged
flavorjones merged 6 commits intomainfrom
harden-github-actions
Mar 20, 2026
Merged

ci: harden GitHub Actions workflows#20
flavorjones merged 6 commits intomainfrom
harden-github-actions

Conversation

@flavorjones
Copy link
Member

Summary

  • Add zizmor and actionlint CI job
  • Configure dependabot with batched updates and cooldown periods
  • Pin all GitHub Actions to SHA hashes
  • Fix cache-poisoning, excessive-permissions, and artipacked findings
  • Scope all permissions to job-level
  • Add lint-actions Makefile target

Test plan

  • CI passes (lint-actions job runs clean)
  • Existing build/test jobs unaffected

🤖 Generated with Claude Code

flavorjones and others added 6 commits March 20, 2026 16:34
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ooldowns

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move permissions to job level with workflow-level permissions: {}.
Suppress cache-poisoning on release workflow setup-go (branch-isolated cache).
Drop unused pull-requests: write from CI workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Neither workflow needs git push, so credentials don't need to persist.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 20, 2026 21:18
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Hardens the repository’s GitHub Actions posture by minimizing token permissions, pinning actions to immutable SHAs, and adding automated workflow linting/auditing to catch common security and correctness issues early.

Changes:

  • Add a lint-actions Makefile target to run actionlint and zizmor locally.
  • Harden CI/release workflows by scoping GITHUB_TOKEN permissions to the job level and pinning referenced actions to SHAs.
  • Add Dependabot configuration to batch updates for GitHub Actions and Go modules.

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 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
Makefile Adds lint-actions target to run workflow lint/security tools locally.
.github/workflows/ci.yml Hardens CI permissions, pins actions to SHAs, and adds a dedicated workflow audit job.
.github/workflows/release.yml Hardens release workflow permissions and pins actions to SHAs.
.github/dependabot.yml Adds grouped Dependabot updates for actions and Go modules.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@flavorjones flavorjones merged commit b95c0b5 into main Mar 20, 2026
9 checks passed
@flavorjones flavorjones deleted the harden-github-actions branch March 20, 2026 23:26
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.

2 participants