Skip to content

Pin GitHub Actions to commit SHAs for supply-chain hardening#78

Merged
BrentIO merged 1 commit into
mainfrom
issue-77-actions-sha-pinning
Jul 11, 2026
Merged

Pin GitHub Actions to commit SHAs for supply-chain hardening#78
BrentIO merged 1 commit into
mainfrom
issue-77-actions-sha-pinning

Conversation

@BrentIO

@BrentIO BrentIO commented Jul 11, 2026

Copy link
Copy Markdown
Owner

What's wrong

Workflows referenced third-party actions by mutable tag, and publish-pypi.yaml referenced pypa/gh-action-pypi-publish@release/v1 — a branch, not even a tag, which is more mutable still.

What this does

Pins every third-party uses: reference across lint-and-test.yaml, publish-pypi.yaml, and release.yaml to a full commit SHA, keeping the original tag/branch as a trailing comment (Dependabot reads this to propose future version bumps, once #75/#76 land).

No behavior change — same versions, just pinned.

After merge

Enable sha_pinning_required on the repo's Actions settings.

How to verify

Trigger lint-and-test.yaml (push/PR) and confirm it still passes with the pinned SHAs.

Fixes #77

Tags (and, for pypa/gh-action-pypi-publish, a branch ref) are
mutable and can be repointed without any change on our side. Pin
every third-party uses: reference to a full commit SHA, keeping the
original tag/branch as a trailing comment so Dependabot can still
propose version bumps.

Fixes #77
@BrentIO
BrentIO merged commit 0e8adcb into main Jul 11, 2026
2 checks passed
@BrentIO
BrentIO deleted the issue-77-actions-sha-pinning branch July 11, 2026 11:47
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.

Pin GitHub Actions to commit SHAs for supply-chain hardening

1 participant