name: Release on: push: branches: - main permissions: contents: write id-token: write issues: write packages: write pull-requests: write concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: release: name: Release runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] node-version: ['24.10.0'] steps: - uses: actions/checkout@v6.0.1 - uses: pnpm/action-setup@v4.2.0 - uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} cache: pnpm - name: Install Dependencies # prevent lockfile mismatch error run: pnpm install --frozen-lockfile - name: Build packages run: pnpm build --filter="@hey-api/**" - name: Generate GitHub App Token id: app-token uses: actions/create-github-app-token@v2.2.1 with: app-id: ${{ secrets.GIT_APP_CLIENT_ID }} private-key: ${{ secrets.GIT_APP_PRIVATE_KEY }} - name: Create Release Pull Request uses: changesets/action@v1.5.3 with: commit: 'ci: release' publish: pnpm changeset publish title: 'ci: release' version: pnpm changeset version env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} NPM_CONFIG_PROVENANCE: true NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Get current branch run: echo "CURRENT_BRANCH=$(git branch --show-current)" >> $GITHUB_ENV - name: Update lock file if: env.CURRENT_BRANCH == 'changeset-release/main' run: pnpm install --lockfile-only - name: Commit lock file if: env.CURRENT_BRANCH == 'changeset-release/main' uses: stefanzweifel/git-auto-commit-action@v7.1.0 with: branch: ${{ env.CURRENT_BRANCH }} commit_message: 'chore: update lock file'