diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..e3656f3 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,48 @@ +name: 'Release Please' + +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + issues: write # See issue https://github.com/googleapis/release-please-action/issues/1105 + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + id: release + with: + # NOTE: GITHUB_TOKEN doesn't run checks on Release PR + token: ${{ secrets.GITHUB_TOKEN }} + + # The logic below handles the npm publication: + - uses: actions/checkout@v4 + # these if statements ensure that a publication only occurs when + # a new release is created: + if: ${{ steps.release.outputs.release_created }} + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 22 + registry-url: 'https://registry.npmjs.org' + if: ${{ steps.release.outputs.release_created }} + + - name: Install Dependencies + run: npm ci + if: ${{ steps.release.outputs.release_created }} + + - name: Build + run: npm run build + if: ${{ steps.release.outputs.release_created }} + + - name: Publish to NPM + run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + if: ${{ steps.release.outputs.release_created }} diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..305c150 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1 @@ +{".":"0.2.0"} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..629db80 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "include-component-in-tag": false, + "packages": { + ".": {} + }, + "pull-request-header": "Release PR", + "pull-request-title-pattern": "chore: release v${version}", + "release-type": "node" +} \ No newline at end of file