Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,53 +1,64 @@
name: Release
name: Release Please

on:
push:
tags:
- v*
branches:
- main

permissions:
contents: read
contents: write
pull-requests: write
id-token: write

concurrency:
group: release-${{ github.workflow }}-${{ github.ref }}
group: release-please-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
publish:
name: Publish package
release-please:
name: Release Please
runs-on: ubuntu-24.04
timeout-minutes: 15

steps:
- uses: googleapis/release-please-action@v4
id: release
with:
release-type: node

- name: Check out repository
uses: actions/checkout@v6.0.2
if: ${{ steps.release.outputs.release_created }}

- name: Set up Node.js
uses: actions/setup-node@v6.3.0
if: ${{ steps.release.outputs.release_created }}
with:
node-version: 22.22.0
registry-url: https://registry.npmjs.org
cache: npm
cache-dependency-path: package-lock.json

- name: Install dependencies
if: ${{ steps.release.outputs.release_created }}
run: npm ci

- name: Run tests
if: ${{ steps.release.outputs.release_created }}
run: npm test

- name: Run lint
if: ${{ steps.release.outputs.release_created }}
run: npm run lint

- name: Run build
if: ${{ steps.release.outputs.release_created }}
run: npm run build

- name: Set version from tag
run: npm version "${GITHUB_REF_NAME#v}" --no-git-tag-version --allow-same-version

- name: Upgrade npm for OIDC publishing support
if: ${{ steps.release.outputs.release_created }}
run: npm install -g npm@latest

- name: Publish package
if: ${{ steps.release.outputs.release_created }}
run: npm publish --access public
13 changes: 13 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,16 @@ Do not invent new workflow states if an existing event fits.
- Do not work on multiple issues in the same worktree.
- Do not invent new workflow states if an existing event fits.
- If `AGENTS.md` and a skill disagree, ask for clarification.

## Commit conventions

Commits merged to `main` should follow [Conventional Commits](https://www.conventionalcommits.org/) so that release-please can determine the correct version bump automatically:

| Prefix | Version bump |
|---|---|
| `fix:` | patch |
| `feat:` | minor |
| `feat!:`, `fix!:`, `refactor!:` | major |
| `chore:`, `docs:`, `refactor:`, `test:` | no release |

Release Please maintains a Release PR on `main` that accumulates these changes. Merging the Release PR triggers the automated npm publish via OIDC — no manual tagging or version bumping required.