Merge branch 'feat/mcp-ui-apps' into beta #2
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 Beta | |
| on: | |
| push: | |
| branches: | |
| - beta | |
| workflow_dispatch: # Allow manual triggers | |
| concurrency: ${{ github.workflow }}-${{ github.ref }} | |
| jobs: | |
| release-beta: | |
| name: Release Beta | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| id-token: write | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| version: 10.6.1 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'pnpm' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Install Dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build Packages | |
| run: pnpm build | |
| - name: Check and Enter Prerelease Mode | |
| run: | | |
| # Check if already in prerelease mode | |
| if [ ! -f .changeset/pre.json ]; then | |
| echo "Entering prerelease mode with tag 'beta'" | |
| pnpm changeset pre enter beta | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add .changeset/pre.json | |
| git commit -m "chore: enter beta prerelease mode" || echo "No changes to commit" | |
| git push || echo "No changes to push" | |
| else | |
| echo "Already in prerelease mode" | |
| cat .changeset/pre.json | |
| fi | |
| - name: Create Release Pull Request or Publish to npm | |
| id: changesets | |
| uses: changesets/action@v1 | |
| with: | |
| publish: pnpm release | |
| version: pnpm version | |
| commit: 'chore: version packages (beta)' | |
| title: 'chore: version packages (beta)' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Send Notification on Success | |
| if: steps.changesets.outputs.published == 'true' | |
| run: | | |
| echo "✅ Beta packages published successfully!" | |
| echo "Published packages: ${{ steps.changesets.outputs.publishedPackages }}" | |
| - name: Comment on PR with Beta Version | |
| if: steps.changesets.outputs.published == 'true' | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const packages = JSON.parse('${{ steps.changesets.outputs.publishedPackages }}'); | |
| const packageList = packages.map(pkg => `- \`${pkg.name}@${pkg.version}\``).join('\n'); | |
| github.rest.repos.createCommitComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| commit_sha: context.sha, | |
| body: `## 🧪 Beta Release Published\n\n${packageList}\n\nInstall with:\n\`\`\`bash\nnpm install ${packages[0].name}@beta\n\`\`\`` | |
| }); | |