bump version to 1.7.6 #6
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: On Push to Main Branch | |
| on: | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| group: deployment | |
| cancel-in-progress: true | |
| jobs: | |
| check-version: | |
| runs-on: ubuntu-latest | |
| needs: check-changesets | |
| outputs: | |
| version_changed: ${{ steps.version-check.outputs.changed }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check if version changed | |
| id: version-check | |
| run: | | |
| current_version=$(jq -r .version package.json) | |
| base_version=$(git show HEAD^:package.json | jq -r .version) | |
| if [ "$current_version" != "$base_version" ]; then | |
| echo "changed=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "changed=false" >> $GITHUB_OUTPUT | |
| fi | |
| check-changesets: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| hasChangesets: ${{ steps.changeset-check.outputs.hasChangesets }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check for changesets | |
| id: changeset-check | |
| run: | | |
| if [ -n "$(ls .changeset/*.md 2>/dev/null | grep -v 'README.md' | grep -v 'config.json')" ]; then | |
| echo "hasChangesets=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "hasChangesets=false" >> $GITHUB_OUTPUT | |
| fi | |
| create-release-pr: | |
| name: Create or update Release PR | |
| runs-on: ubuntu-latest | |
| needs: [check-version, check-changesets] | |
| if: needs.check-changesets.outputs.hasChangesets == 'true' && needs.check-version.outputs.version_changed == 'false' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| run: npm install -g pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Get next version from changesets | |
| id: get-next-version | |
| run: | | |
| npx changeset status --output changeset-status.json | |
| version=$(jq -r '.releases[0].newVersion' changeset-status.json) | |
| echo "next_version=$version" >> $GITHUB_OUTPUT | |
| - name: Create or update Release PR | |
| uses: changesets/action@v1 | |
| with: | |
| publish: false | |
| title: "Release v${{ steps.get-next-version.outputs.next_version }}" | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Update MCP version | |
| run: .github/scripts/update-mcp-version.sh | |
| env: | |
| PATH_TO_FILE: 'src/index.ts' | |
| gh-release: | |
| name: GH Release | |
| runs-on: ubuntu-latest | |
| needs: check-version | |
| if: needs.check-version.outputs.version_changed == 'true' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| - name: Get release version | |
| id: get-version | |
| run: | | |
| echo "result=$(jq -r '.version' package.json)" >> $GITHUB_OUTPUT | |
| - name: Get release body | |
| run: | | |
| # Get the PR body to use in the GH release body | |
| gh pr list --search "$(git rev-parse HEAD)" --state merged --json number,body --jq '"This release was merged in PR #" + (.[0].number | tostring) + "\n\n" + (.[0].body | split("# Releases")[1:] | join("# Releases"))' > pr_body.tmp | |
| - name: Create release | |
| uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1 | |
| with: | |
| tag_name: v${{ steps.get-version.outputs.result }} | |
| name: Release v${{ steps.get-version.outputs.result }} | |
| body_path: pr_body.tmp | |
| npm-publish: | |
| name: Publish to npm registry | |
| runs-on: ubuntu-latest | |
| needs: check-version | |
| if: needs.check-version.outputs.version_changed == 'true' | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js and npm auth | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20.x' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Install pnpm | |
| run: npm install -g pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| run: pnpm build | |
| - name: Publish | |
| run: npm publish --provenance --access public | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |