From 86fde330d6f1e91143e355387b1eb49e6507cfa1 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Tue, 28 Apr 2026 13:49:48 -0300 Subject: [PATCH] chore: add release-please workflow --- .github/workflows/release-please.yml | 66 ++++++++++++++++++++++++++++ .release-please-manifest.json | 3 ++ release-please-config.json | 7 +++ 3 files changed, 76 insertions(+) create mode 100644 .github/workflows/release-please.yml create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 00000000..eaf1bd1b --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,66 @@ +name: Release Please + +on: + push: + branches: + - main + +permissions: + contents: read + +jobs: + release-please: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + outputs: + releases_created: ${{ steps.release.outputs.releases_created }} + paths_released: ${{ steps.release.outputs.paths_released }} + prs_created: ${{ steps.release.outputs.prs_created }} + head_branch: ${{ fromJson(steps.release.outputs.pr || '{}').headBranchName }} + steps: + - uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0 + id: release + + prettify-pr: + runs-on: ubuntu-latest + needs: release-please + if: ${{ needs.release-please.outputs.prs_created == 'true' }} + continue-on-error: true + permissions: + contents: write + steps: + - uses: actions/checkout@v6 + with: + ref: ${{ needs.release-please.outputs.head_branch }} + - uses: actions/setup-node@v6 + with: + node-version: 'lts/*' + - run: npm install + - run: npx prettier --write . + - name: Fix prettier on Release PR + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add . + git commit -m "chore: fix code style issues" + git push origin + + publish: + runs-on: ubuntu-latest + needs: release-please + if: ${{ needs.release-please.outputs.releases_created == 'true' }} + permissions: + contents: read + id-token: write # Required for npm provenance + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: 'lts/*' + registry-url: 'https://registry.npmjs.org' + - run: npm install + - run: npm test + - name: Publish with provenance + run: npm publish --provenance --access public diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 00000000..d4a69372 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "8.1.2" +} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 00000000..d7e8d463 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,7 @@ +{ + "packages": { + ".": { + "release-type": "node" + } + } +}