Skip to content

Pin all GitHub Actions versions using pinact#4354

Open
borchero wants to merge 1 commit intoactions:mainfrom
borchero:pinact
Open

Pin all GitHub Actions versions using pinact#4354
borchero wants to merge 1 commit intoactions:mainfrom
borchero:pinact

Conversation

@borchero
Copy link
Copy Markdown

Motivation

It is generally good practice (see e.g. this post) to pin actions to their commit SHAs to prevent the execution of malicious code.

This change would not only make the use of actions more secure in this repo, but also allow to more easily maintain forks in organizations where SHA pinning is enforced.

Changes

  • Pin all actions using pinact
  • Replace master reference for actions/create-release with the latest release tag

@borchero borchero requested a review from a team as a code owner April 17, 2026 16:17
Copilot AI review requested due to automatic review settings April 17, 2026 16:17
Copy link
Copy Markdown
Contributor

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

This PR improves the security posture of the repository’s GitHub Actions workflows by pinning all referenced actions to specific commit SHAs (generated via pinact), and removes the floating master reference for actions/create-release by switching to a fixed release version (also SHA-pinned).

Changes:

  • Pin all uses: references in workflows to commit SHAs (with version comments for traceability).
  • Replace actions/create-release@master with a pinned release version.
  • Apply the above consistently across CI, release, dependency automation, CodeQL, and bot workflows.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/stale-bot.yml Pin actions/stale to a commit SHA.
.github/workflows/release.yml Pin all actions (checkout, github-script, artifacts, docker actions, attestations) and replace actions/create-release@master with a pinned release SHA.
.github/workflows/npm-audit.yml Pin checkout and setup-node to SHAs.
.github/workflows/npm-audit-typescript.yml Pin checkout and setup-node to SHAs.
.github/workflows/node-upgrade.yml Pin checkout to a SHA.
.github/workflows/dotnet-upgrade.yml Pin checkout to a SHA in both jobs.
.github/workflows/docker-publish.yml Pin checkout/github-script/docker actions/attestation to SHAs.
.github/workflows/docker-buildx-upgrade.yml Pin checkout to a SHA in both jobs.
.github/workflows/dependency-check.yml Pin checkout and setup-node to SHAs.
.github/workflows/codeql.yml Pin checkout and CodeQL init/analyze actions to SHAs.
.github/workflows/close-features-bot.yml Pin actions/stale to a commit SHA.
.github/workflows/close-bugs-bot.yml Pin actions/stale to a commit SHA.
.github/workflows/build.yml Pin checkout, upload-artifact, github-script, and docker actions to SHAs.

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