name: release on: workflow_dispatch: push: branches: - "*.x" - main - beta permissions: contents: write issues: write pull-requests: write jobs: release: name: release runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: ./ id: app-token with: app-id: ${{ vars.RELEASER_APP_ID }} private-key: ${{ secrets.RELEASER_APP_PRIVATE_KEY }} - uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0 id: release-please with: token: ${{ steps.app-token.outputs.token }} config-file: ${{ github.ref_name == 'beta' && 'release-please-config.beta.json' || 'release-please-config.json' }} manifest-file: .release-please-manifest.json target-branch: ${{ github.ref_name }} - uses: actions/checkout@v6 if: steps.release-please.outputs.prs_created == 'true' with: ref: ${{ fromJSON(steps.release-please.outputs.pr).headBranchName }} token: ${{ steps.app-token.outputs.token }} - uses: actions/setup-node@v6 if: steps.release-please.outputs.prs_created == 'true' with: node-version-file: package.json - run: npm ci if: steps.release-please.outputs.prs_created == 'true' - run: npm run build if: steps.release-please.outputs.prs_created == 'true' - uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # v7.1.0 if: steps.release-please.outputs.prs_created == 'true' with: commit_author: "${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>" commit_message: "chore: update dist files" file_pattern: dist/** - name: Update major version tag id: update-major-tag if: steps.release-please.outputs.release_created == 'true' && github.ref_name != 'beta' uses: octokit/request-action@b91aabaa861c777dcdb14e2387e30eddf04619ae # v3.0.0 continue-on-error: true with: route: PATCH /repos/${{ github.repository }}/git/refs/tags/v${{ steps.release-please.outputs.major }} sha: ${{ steps.release-please.outputs.sha }} force: true env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Create major version tag if: steps.release-please.outputs.release_created == 'true' && github.ref_name != 'beta' && steps.update-major-tag.outcome == 'failure' uses: octokit/request-action@b91aabaa861c777dcdb14e2387e30eddf04619ae # v3.0.0 with: route: POST /repos/${{ github.repository }}/git/refs ref: refs/tags/v${{ steps.release-please.outputs.major }} sha: ${{ steps.release-please.outputs.sha }} env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}