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: ubuntu-latest
21 env:
22 TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
23 TURBO_TELEMETRY_DISABLED: 1
24 TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
25 steps:
26 - uses: actions/checkout@v6.0.2
27
28 - uses: pnpm/action-setup@v4.2.0
29
30 - uses: actions/setup-node@v6
31 with:
32 node-version-file: '.nvmrc'
33 cache: pnpm
34
35 - name: Install Dependencies
36 run: pnpm install --frozen-lockfile
37
38 - name: Build packages
39 run: pnpm tb "@hey-api/**"
40
41 - name: Generate GitHub App Token
42 id: app-token
43 uses: actions/create-github-app-token@v2.2.1
44 with:
45 app-id: ${{ secrets.GIT_APP_CLIENT_ID }}
46 private-key: ${{ secrets.GIT_APP_PRIVATE_KEY }}
47
48 - name: Create Release Pull Request
49 uses: changesets/action@v1.7.0
50 with:
51 commit: 'ci: release'
52 publish: pnpm changeset publish
53 title: 'ci: release'
54 version: pnpm changeset version
55 env:
56 GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
57 NPM_CONFIG_PROVENANCE: true
58
59 - name: Get current branch
60 run: echo "CURRENT_BRANCH=$(git branch --show-current)" >> $GITHUB_ENV
61
62 - name: Update lock file
63 if: env.CURRENT_BRANCH == 'changeset-release/main'
64 run: pnpm install --lockfile-only
65
66 - name: Commit lock file
67 if: env.CURRENT_BRANCH == 'changeset-release/main'
68 uses: stefanzweifel/git-auto-commit-action@v7.1.0
69 with:
70 branch: ${{ env.CURRENT_BRANCH }}
71 commit_message: 'chore: update lock file'
72
73 snapshot:
74 name: Snapshot Release
75 runs-on: ubuntu-latest
76 needs: release
77 if: github.ref == 'refs/heads/main'
78 env:
79 TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
80 TURBO_TELEMETRY_DISABLED: 1
81 TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
82 steps:
83 - uses: actions/checkout@v6.0.2
84
85 - uses: pnpm/action-setup@v4.2.0
86
87 - uses: actions/setup-node@v6
88 with:
89 node-version-file: '.nvmrc'
90 cache: pnpm
91
92 - name: Install Dependencies
93 run: pnpm install --frozen-lockfile
94
95 - name: Build packages
96 run: pnpm tb "@hey-api/**"
97
98 - name: Publish snapshot
99 run: |
100 pnpm changeset version --snapshot next
101 pnpm changeset publish --tag next
102 env:
103 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
104 NPM_CONFIG_PROVENANCE: true