Skip to content

GitHub Actions workflow updates#3628

Open
johnbillion wants to merge 4 commits into
trunkfrom
workflow-updates
Open

GitHub Actions workflow updates#3628
johnbillion wants to merge 4 commits into
trunkfrom
workflow-updates

Conversation

@johnbillion
Copy link
Copy Markdown
Member

This updates the GitHub Actions workflow files to:

  • Grant minimally-scoped permissions to each job to adhere to the principle of least privilege
  • Specify a timeout on each job to prevent runaway processes consuming too many minutes (the default is 360)

Once this PR is merged, the Settings -> Actions -> Workflow permissions setting can be changed by a repo admin to "Read repository contents and packages permissions".

References

Use of AI

Claude Code was used to create the initial changes. All permissions and timeouts changes were reviewed and adjusted by me where necessary.

@johnbillion johnbillion requested review from a team, adamziel, Copilot, desrosj and zaerl and removed request for Copilot May 13, 2026 14:58
@johnbillion johnbillion requested a review from Copilot May 13, 2026 22:59
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

Note

Copilot was unable to run its full agentic suite in this review.

Updates GitHub Actions workflows to follow least-privilege permissions and to add explicit job-level timeouts to prevent runaway jobs.

Changes:

  • Set workflow-level default token permissions to none (permissions: {}) and add job-level permissions as needed.
  • Add timeout-minutes to jobs across workflows.
  • Document rationale for permissions/timeouts inline within workflow files.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
.github/workflows/update-changelog.yml Disables default permissions; adds job timeout and contents: write for changelog updates.
.github/workflows/refresh-wordpress-nightly.yml Disables default permissions; adds timeout and contents: write for scheduled refresh pushes.
.github/workflows/refresh-wordpress-major-and-beta.yml Disables default permissions; sets job permissions for repo writes and workflow dispatch.
.github/workflows/refresh-sqlite-integration.yml Disables default permissions; adds timeout and permissions for repo writes + workflow dispatch.
.github/workflows/publish-self-hosted-package-release.yml Disables default permissions; adds timeout and contents: write for tagging/version bumps.
.github/workflows/publish-npm-packages.yml Moves permissions from workflow-level to job-level; adds timeout and OIDC permissions.
.github/workflows/publish-github-release.yml Moves permissions from workflow-level to job-level; adds timeout and contents: write.
.github/workflows/publish-devtools-extension.yml Disables default permissions; adds timeout and clarifies contents: write usage.
.github/workflows/deploy-website.yml Disables default permissions; adds timeouts and job-level contents: read where needed.
.github/workflows/deploy-my-wordpress-net.yml Disables default permissions; adds timeouts and job-level contents: read where needed.
.github/workflows/deploy-cors-proxy.yml Disables default permissions; adds timeouts and job-level contents: read where needed.
.github/workflows/dependabot-lockfile.yml Moves permissions from workflow-level to job-level; adds timeout and contents: write.
.github/workflows/ci.yml Disables default permissions; adds job timeouts and contents: read across CI jobs; adjusts Pages deploy permissions.
.github/workflows/auto-label-prs.yml Moves permissions from workflow-level to job-level; adds timeouts and least-privilege permissions.

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

Comment thread .github/workflows/publish-self-hosted-package-release.yml Outdated
Comment thread .github/workflows/deploy-website.yml
Comment thread .github/workflows/deploy-my-wordpress-net.yml
Comment thread .github/workflows/deploy-cors-proxy.yml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.

3 participants