Skip to content

ci: harden npm release workflow#3

Merged
altaywtf merged 1 commit into
mainfrom
codex/harden-release-pipeline
May 13, 2026
Merged

ci: harden npm release workflow#3
altaywtf merged 1 commit into
mainfrom
codex/harden-release-pipeline

Conversation

@altaywtf
Copy link
Copy Markdown
Member

@altaywtf altaywtf commented May 13, 2026

Summary

Harden the npm release workflow around the live release GitHub Environment and environment-scoped NPM_TOKEN.

Changed

  • Pins checkout/setup/release actions and adds Dependabot refreshes.
  • Runs npm publish through the release Environment.
  • Disables release dependency caching.

Risks

npm publishing depends on the already-configured NPM_TOKEN environment secret.

Verification

  • actionlint .github/workflows/*.yml
  • git diff --check
  • pnpm verify
  • codex-security:security-scan diff scan: no reportable findings

Complexity

Reduced.

Copilot AI review requested due to automatic review settings May 13, 2026 15:53
Copy link
Copy Markdown

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 hardens the npm publish/release pipeline by scoping publishing credentials to the live release GitHub Environment, pinning high-trust GitHub Actions to commit SHAs, and documenting the release boundary.

Changes:

  • Pin GitHub Actions (checkout, setup-vp, semantic-release-action) to full commit SHAs and add Dependabot updates for GitHub Actions.
  • Move npm publishing to run under the release GitHub Environment, disable dependency caching for the release job, and add non-cancellable release concurrency.
  • Add repo-local documentation describing the distribution/release flow and hardening guidelines.

Reviewed changes

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

File Description
docs/DISTRIBUTION.md Documents the release flow and hardening expectations for npm publishing.
AGENTS.md Links contributors to the distribution/release documentation.
.github/workflows/ci.yml Pins actions, scopes publishing to the release environment, disables cache for release, and tightens concurrency/permissions.
.github/dependabot.yml Enables weekly Dependabot refreshes for pinned GitHub Actions.

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

Comment thread .github/workflows/ci.yml
timeout-minutes: 15
environment:
name: release
deployment: false
Comment thread docs/DISTRIBUTION.md Outdated

## Release flow

Pushes to `main` run the workspace verify job. If verification passes and the commit is not marked `[skip ci]`, the release job targets the `release` GitHub Environment with `deployment: false`, builds the library, and runs semantic-release.
@altaywtf altaywtf force-pushed the codex/harden-release-pipeline branch from 9d6f7e8 to c6df0ac Compare May 13, 2026 15:58
@altaywtf altaywtf force-pushed the codex/harden-release-pipeline branch from c6df0ac to 322383c Compare May 13, 2026 16:03
@altaywtf altaywtf merged commit cded69d into main May 13, 2026
2 checks passed
@altaywtf altaywtf deleted the codex/harden-release-pipeline branch May 13, 2026 16:06
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