fork of hey-api/openapi-ts because I need some additional things
1name: Release
2
3on:
4 push:
5 branches:
6 - main
7
8permissions:
9 contents: write
10 id-token: write
11 issues: write
12 packages: write
13 pull-requests: write
14
15concurrency: ${{ github.workflow }}-${{ github.ref }}
16
17jobs:
18 release:
19 name: Release
20 runs-on: ${{ matrix.os }}
21 strategy:
22 matrix:
23 os: [ubuntu-latest]
24 node-version: ['24.10.0']
25 steps:
26 - uses: actions/checkout@v6.0.1
27
28 - uses: pnpm/action-setup@v4.2.0
29
30 - uses: actions/setup-node@v6
31 with:
32 node-version: ${{ matrix.node-version }}
33 cache: pnpm
34
35 - name: Install Dependencies
36 # prevent lockfile mismatch error
37 run: pnpm install --frozen-lockfile
38
39 - name: Build packages
40 run: pnpm build --filter="@hey-api/**"
41
42 - name: Generate GitHub App Token
43 id: app-token
44 uses: actions/create-github-app-token@v2.2.1
45 with:
46 app-id: ${{ secrets.GIT_APP_CLIENT_ID }}
47 private-key: ${{ secrets.GIT_APP_PRIVATE_KEY }}
48
49 - name: Create Release Pull Request
50 uses: changesets/action@v1.5.3
51 with:
52 commit: 'ci: release'
53 publish: pnpm changeset publish
54 title: 'ci: release'
55 version: pnpm changeset version
56 env:
57 GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
58 NPM_CONFIG_PROVENANCE: true
59 NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
60
61 - name: Get current branch
62 run: echo "CURRENT_BRANCH=$(git branch --show-current)" >> $GITHUB_ENV
63
64 - name: Update lock file
65 if: env.CURRENT_BRANCH == 'changeset-release/main'
66 run: pnpm install --lockfile-only
67
68 - name: Commit lock file
69 if: env.CURRENT_BRANCH == 'changeset-release/main'
70 uses: stefanzweifel/git-auto-commit-action@v7.1.0
71 with:
72 branch: ${{ env.CURRENT_BRANCH }}
73 commit_message: 'chore: update lock file'