chore(release): publish a new release version (#7443) #961
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish | |
| env: | |
| PNPM_VERSION: 9.15.4 | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - release/* | |
| # manual trigger for other branches | |
| workflow_dispatch: | |
| permissions: | |
| id-token: write | |
| contents: write | |
| pull-requests: write | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| release: | |
| name: Release | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [20] | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: ${{ env.PNPM_VERSION }} | |
| - name: Setup Node ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'pnpm' | |
| - name: Update npm for Trusted Publishing | |
| run: npm install -g npm@11.6.2 | |
| - name: Load turbo cache | |
| uses: actions/cache@v5.0.2 | |
| id: turbo-cache | |
| with: | |
| path: | | |
| .turbo | |
| **/.eslintcache | |
| key: ${{ runner.os }}-turbo-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo-${{ github.sha }} | |
| ${{ runner.os }}-turbo- | |
| - name: Install Dependencies | |
| run: pnpm install --strict-peer-dependencies | |
| - name: Create Release PR or publish stable version to npm | |
| id: changesets | |
| uses: changesets/action@v1 | |
| with: | |
| createGithubReleases: false | |
| publish: pnpm run publish | |
| version: pnpm run version | |
| title: ${{ github.ref_name == 'main' && 'Publish a new stable version' || 'Publish a new pre-release version' }} | |
| commit: >- | |
| ${{ github.ref_name == 'main' && 'chore(release): publish a new release version' || 'chore(release): publish a new pre-release version' }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| NPM_CONFIG_PROVENANCE: true | |
| NPM_CONFIG_ACCESS: public | |
| - name: Send release notification | |
| if: steps.changesets.outputs.published == 'true' | |
| id: slack | |
| uses: slackapi/slack-github-action@v1.27.0 | |
| with: | |
| payload: | | |
| { | |
| "message": "[Tiptap Editor Release]: New Tiptap Editor version has been released to NPM." | |
| } | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
| - name: Send failure notification | |
| if: failure() | |
| id: slack_failure | |
| uses: slackapi/slack-github-action@v1.27.0 | |
| with: | |
| payload: | | |
| { | |
| "message": "[Tiptap Editor Release]: There was an issue publishing a new version. You can find the logs here: https://github.com/ueberdosis/tiptap/actions/runs/${{ github.run_id }}" | |
| } | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |