Fix release workflow to commit updated manifest version #51
  
    
      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: Release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| concurrency: ${{ github.workflow }}-${{ github.ref }} | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| id-token: write # Required for npm provenance | |
| attestations: write # Required for build provenance attestations | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: latest | |
| - name: Update npm for OIDC support | |
| run: npm install -g npm@latest | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run tests | |
| run: pnpm test | |
| - name: Build all packages | |
| run: pnpm build | |
| - name: Copy README for npm package | |
| run: cp README.md packages/server/README.md | |
| - name: Attest Build Provenance | |
| uses: actions/[email protected] | |
| with: | |
| subject-path: 'packages/*/dist/**' | |
| - name: Create Release Pull Request or Publish to npm | |
| id: changesets | |
| uses: changesets/action@v1 | |
| with: | |
| publish: pnpm release | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Clean up copied README | |
| run: rm -f packages/server/README.md | |
| - name: Bump Chrome extension manifest version and rebuild | |
| if: steps.changesets.outputs.published == 'true' | |
| run: | | |
| pnpm -C packages/chrome-extension bump-manifest | |
| pnpm -C packages/chrome-extension build | |
| - name: Commit updated manifest to repository | |
| if: steps.changesets.outputs.published == 'true' | |
| run: | | |
| git config --local user.email "[email protected]" | |
| git config --local user.name "GitHub Action" | |
| git add packages/chrome-extension/src/manifest.json | |
| git diff --staged --quiet || git commit -m "Update Chrome extension manifest version to ${{ fromJson(steps.changesets.outputs.publishedPackages)[0].version }}" | |
| git push | |
| - name: Package Chrome extension for release | |
| if: steps.changesets.outputs.published == 'true' | |
| working-directory: packages/chrome-extension/dist | |
| run: zip -r ../../../mcp-pointer-chrome-extension.zip . | |
| - name: Upload Chrome extension to release | |
| if: steps.changesets.outputs.published == 'true' | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: ${{ fromJson(steps.changesets.outputs.publishedPackages)[0].version }} | |
| files: mcp-pointer-chrome-extension.zip | |
| fail_on_unmatched_files: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |