k35o/pnpm Release
Release automation for pnpm's built-in versioning: opens a release PR from pending change intents, then publishes to npm, pushes tags, and creates GitHub Releases when it merges.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| build | Command to run before the built-in `pnpm publish -r` in publish mode (e.g. `pnpm build`). Skipped when empty. Not run in version-PR mode. | no | — |
| commit-message | Commit message for the version commit. | no | chore: prepare release |
| pr-title | Title of the release pull request. | no | chore: prepare release |
| base-branch | Base branch the release PR targets. Defaults to the branch that triggered the workflow; on non-branch triggers (tags, pull_request) it must be set explicitly. | no | — |
| branch-prefix | Prefix of the release branch (`<branch-prefix><base-branch>`). | no | pnpm-release/ |
| cwd | Working directory of the pnpm workspace. | no | — |
| setup-git-user | Git identity for the version commit: `true` (github-actions bot), `false` (keep the ambient git config), or `app` (resolve the GitHub App bot user from `app-slug`). | no | true |
| app-slug | App slug output of actions/create-github-app-token. Required when `setup-git-user` is `app`. | no | — |
| create-github-releases | Create a GitHub Release per released package. | no | true |
| push-git-tags | Push git tags for released packages. Cannot be `false` while `create-github-releases` is `true`. | no | true |
| mode-when-clean | What to do when no change intents are pending: `publish` or `none`. | no | publish |
| commit-mode | How the version commit is created: `github-api` (default; GitHub signs the commit as the token's identity, satisfying required-signature rules) or `git-cli` (local commit and force-push). | no | github-api |
| auto-merge | Arm GitHub auto-merge (merge commit) on the release PR. | no | false |
| sync-lockfile | Run `pnpm install --lockfile-only` after versioning. | no | true |
| allow-prerelease-on-latest | Allow publishing a prerelease version to the `latest` dist-tag. | no | false |
| github-token | Token used for the release PR, tags, and GitHub Releases. | no | ${{ github.token }} |
Outputs
| name | description |
|---|---|
| mode | What the run did: `version`, `publish`, or `none`. |
| published | `"true"` when at least one package was published. |
| published-packages | JSON array of `{ name, version }` for published packages. |
| has-pending-changes | `"true"` when the release plan was non-empty. |
| pr-number | Number of the release pull request, when one was created or updated. |