From d943a12ca886685edab6ccc782149bbcf61aa112 Mon Sep 17 00:00:00 2001 From: Joris Buchou Date: Wed, 22 Apr 2026 16:39:16 -0700 Subject: [PATCH 1/2] feat: add semantic-release with conventional commits --- .github/workflows/release.yml | 25 +++++++++++++++++++++++++ .releaserc.yaml | 24 ++++++++++++++++++++++++ README.md | 10 ++++++++++ RELEASE.md | 14 ++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .releaserc.yaml create mode 100644 RELEASE.md diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c14762e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,25 @@ +name: Release + +on: + push: + branches: + - main + - rc/* + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: cycjimmy/semantic-release-action@v6.0.0 + with: + extra_plugins: | + conventional-changelog-conventionalcommits + @semantic-release/exec + env: + FORCE_COLOR: 1 + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN: ${{ github.token }} diff --git a/.releaserc.yaml b/.releaserc.yaml new file mode 100644 index 0000000..71761c5 --- /dev/null +++ b/.releaserc.yaml @@ -0,0 +1,24 @@ +plugins: + - - '@semantic-release/commit-analyzer' + - preset: 'conventionalcommits' + - - '@semantic-release/release-notes-generator' + - preset: 'conventionalcommits' + - - '@semantic-release/github' + - successCommentCondition: false + + # Update dist, in case Dependabot PRs merged without doing so + - - '@semantic-release/exec' + - prepareCmd: 'pnpm install && pnpm run build' + + - - '@semantic-release/git' + - assets: + - 'dist/**' + - 'package.json' # commit updated version back to source + message: 'chore(release): update dist and package.json' + + - '@semantic-release/npm' + +branches: + - main + - name: rc/* + prerelease: '${name.replace(/^rc\//, "rc-")}' diff --git a/README.md b/README.md index a9523df..d3af874 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,12 @@ # parser-js One that parses + +## Release + +To trigger a release in this project, merge a commit to `main` prefixed with: + +1. `fix:` to trigger a patch release, +1. `feat:` to trigger minor, or +1. Use `!:` or the `BREAKING CHANGES: ` footer to trigger major + +See [RELEASE.md](./RELEASE.md) for more details. diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..e1b9e5d --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,14 @@ +# Release + +This project uses [semantic-release](https://github.com/semantic-release/semantic-release) +with [conventional commits](https://www.conventionalcommits.org/) to trigger releases. + +To trigger a release in this project, merge a commit to `main` prefixed with: + +1. `fix:` to trigger a patch release, +1. `feat:` to trigger minor, or +1. Use `!:` or the `BREAKING CHANGES: ` footer to trigger major + +Pre-releases can be made by pushing to an `rc/*` branch. + +For more details, see the [Semantic Release](https://illuminate.atlassian.net/wiki/spaces/PENG/pages/17952735277/Semantic+Release) documentation. From 31b0a7fbce4706f44b79a8c994992fdc456b71d2 Mon Sep 17 00:00:00 2001 From: Joris Buchou Date: Thu, 23 Apr 2026 08:08:36 -0700 Subject: [PATCH 2/2] fix: simplify README release section and fix RELEASE.md numbering --- README.md | 8 +------- RELEASE.md | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d3af874..9029449 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,4 @@ One that parses ## Release -To trigger a release in this project, merge a commit to `main` prefixed with: - -1. `fix:` to trigger a patch release, -1. `feat:` to trigger minor, or -1. Use `!:` or the `BREAKING CHANGES: ` footer to trigger major - -See [RELEASE.md](./RELEASE.md) for more details. +See [RELEASE.md](./RELEASE.md). diff --git a/RELEASE.md b/RELEASE.md index e1b9e5d..84f04e6 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -6,8 +6,8 @@ with [conventional commits](https://www.conventionalcommits.org/) to trigger rel To trigger a release in this project, merge a commit to `main` prefixed with: 1. `fix:` to trigger a patch release, -1. `feat:` to trigger minor, or -1. Use `!:` or the `BREAKING CHANGES: ` footer to trigger major +2. `feat:` to trigger minor, or +3. Use `!:` or the `BREAKING CHANGES: ` footer to trigger major Pre-releases can be made by pushing to an `rc/*` branch.