Buckets:
| name: Release | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| type: choice | |
| description: 'Version bump type' | |
| required: true | |
| options: | |
| - patch | |
| - minor | |
| - major | |
| prerelease: | |
| type: boolean | |
| description: 'Create as prerelease' | |
| default: false | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| packages: write | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| version: 11.5.0 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Enable Corepack | |
| run: | | |
| npm install --global corepack@0.35.0 | |
| corepack enable pnpm | |
| corepack prepare pnpm@11.5.0 --activate | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Configure Git | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| - name: Bump versions | |
| id: version | |
| run: | | |
| # Bump root version | |
| npm version ${{ inputs.version }} --no-git-tag-version | |
| # Get the new version | |
| NEW_VERSION=$(node -p "require('./package.json').version") | |
| echo "new-version=$NEW_VERSION" >> $GITHUB_OUTPUT | |
| # Sync versions in workspaces | |
| cd packages/app && npm version $NEW_VERSION --no-git-tag-version | |
| cd ../mcp && npm version $NEW_VERSION --no-git-tag-version | |
| cd ../.. | |
| - name: Build packages | |
| run: pnpm build | |
| - name: Run tests | |
| run: pnpm test | |
| - name: Create Release Commit | |
| run: | | |
| git add . | |
| git commit -m "chore: release v${{ steps.version.outputs.new-version }}" | |
| git tag "v${{ steps.version.outputs.new-version }}" | |
| - name: Push changes | |
| run: | | |
| git push origin main | |
| git push origin --tags | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v2 | |
| with: | |
| tag_name: v${{ steps.version.outputs.new-version }} | |
| generate_release_notes: true | |
| prerelease: ${{ inputs.prerelease }} | |
| - name: Publish to npm | |
| if: ${{ !inputs.prerelease }} | |
| run: | | |
| # Publish the mcp package first (dependency) | |
| cd packages/mcp | |
| pnpm publish --access public --no-git-checks | |
| # Then publish the main app package | |
| cd ../app | |
| pnpm publish --access public --no-git-checks | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
Xet Storage Details
- Size:
- 2.99 kB
- Xet hash:
- 2bdd770d3fd83217f1f68448207acdd93a221e0ef31dee5290eeac3abc681bf0
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.