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: ubuntu-latest env: TURBO_TEAM: ${{ secrets.TURBO_TEAM }} TURBO_TELEMETRY_DISABLED: 1 TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} steps: - uses: actions/checkout@v6.0.2 - uses: pnpm/action-setup@v4.2.0 - uses: actions/setup-node@v6 with: node-version-file: '.nvmrc' cache: pnpm - name: Install Dependencies run: pnpm install --frozen-lockfile - name: Build packages run: pnpm tb "@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.7.0 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 - 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' snapshot: name: Snapshot Release runs-on: ubuntu-latest needs: release if: github.ref == 'refs/heads/main' env: TURBO_TEAM: ${{ secrets.TURBO_TEAM }} TURBO_TELEMETRY_DISABLED: 1 TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} steps: - uses: actions/checkout@v6.0.2 - uses: pnpm/action-setup@v4.2.0 - uses: actions/setup-node@v6 with: node-version-file: '.nvmrc' cache: pnpm - name: Install Dependencies run: pnpm install --frozen-lockfile - name: Build packages run: pnpm tb "@hey-api/**" - name: Publish snapshot run: | pnpm changeset version --snapshot next pnpm changeset publish --tag next env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_CONFIG_PROVENANCE: true