@@ -19,11 +19,15 @@ jobs:
1919 name : Release
2020 runs-on : ubuntu-latest
2121 env :
22+ CURRENT_BRANCH : ${{ github.ref_name }}
2223 TURBO_TEAM : ${{ secrets.TURBO_TEAM }}
2324 TURBO_TELEMETRY_DISABLED : 1
2425 TURBO_TOKEN : ${{ secrets.TURBO_TOKEN }}
2526 steps :
2627 - uses : actions/checkout@v6.0.2
28+ with :
29+ fetch-depth : 0 # needs to fetch all commits for changelog
30+ fetch-tags : true # needs to get the latest tag for changelog
2731
2832 - uses : pnpm/action-setup@v5.0.0
2933
@@ -32,57 +36,57 @@ jobs:
3236 node-version-file : ' .nvmrc'
3337 cache : pnpm
3438
35- - name : Install Dependencies
39+ - name : Install dependencies
3640 run : pnpm install --frozen-lockfile
3741
3842 - name : Build packages
3943 run : pnpm tb "@hey-api/**"
4044
41- - name : Generate GitHub App Token
45+ - name : Generate GitHub App token
4246 id : app-token
4347 uses : actions/create-github-app-token@v3.0.0
4448 with :
4549 app-id : ${{ secrets.GIT_APP_CLIENT_ID }}
4650 private-key : ${{ secrets.GIT_APP_PRIVATE_KEY }}
4751
48- - name : Create Release Pull Request
52+ - name : Create release pull request
4953 id : changesets
5054 uses : changesets/action@v1.7.0
5155 with :
5256 commit : ' ci: release'
5357 createGithubReleases : false
5458 publish : pnpm changeset publish
5559 title : ' ci: release'
56- version : pnpm changelog: version
60+ version : pnpm changeset version
5761 env :
5862 GITHUB_TOKEN : ${{ steps.app-token.outputs.token }}
5963 NPM_CONFIG_PROVENANCE : true
6064
61- - name : Generate Release Tag
65+ - name : Generate release tag
6266 if : steps.changesets.outputs.published == 'true'
6367 id : tag
6468 run : echo "tag=$(pnpm -s changelog:release:tag)" >> $GITHUB_OUTPUT
6569
66- - name : Get Release Name
70+ - name : Get release name
6771 if : steps.changesets.outputs.published == 'true'
6872 id : release-name
6973 run : echo "name=$(pnpm -s changelog:release:name ${{ steps.tag.outputs.tag }})" >> $GITHUB_OUTPUT
7074
71- - name : Generate Release Notes
75+ - name : Generate release notes
7276 if : steps.changesets.outputs.published == 'true'
7377 id : notes
7478 run : pnpm -s changelog:release:notes > release-notes.md
7579 env :
7680 GH_TOKEN : ${{ steps.app-token.outputs.token }}
7781
78- - name : Resolve Release Commit
82+ - name : Resolve release commit
7983 if : steps.changesets.outputs.published == 'true'
8084 id : release-commit
8185 run : |
8286 sha=$(git log --format=%H --grep='^ci: release$' -n 1)
8387 echo "sha=$sha" >> "$GITHUB_OUTPUT"
8488
85- - name : Create GitHub Release
89+ - name : Create GitHub release
8690 if : steps.changesets.outputs.published == 'true'
8791 uses : softprops/action-gh-release@v3.0.0
8892 with :
9397 target_commitish : ${{ steps.release-commit.outputs.sha || github.sha }}
9498 token : ${{ steps.app-token.outputs.token }}
9599
96- - name : Get current branch
97- run : echo "CURRENT_BRANCH=$(git branch --show-current)" >> $GITHUB_ENV
100+ - name : Rebuild changelog
101+ if : steps.changesets.outputs.published == 'true'
102+ run : pnpm changelog:assemble
103+
104+ - name : Commit changelog
105+ if : steps.changesets.outputs.published == 'true'
106+ uses : stefanzweifel/git-auto-commit-action@v7.1.0
107+ with :
108+ branch : ${{ env.CURRENT_BRANCH }}
109+ commit_message : ' chore: sync changelog [skip ci]'
110+ file_pattern : CHANGELOG.md
98111
99112 - name : Update lock file
100113 if : env.CURRENT_BRANCH == 'changeset-release/main'
@@ -126,7 +139,7 @@ jobs:
126139 node-version-file : ' .nvmrc'
127140 cache : pnpm
128141
129- - name : Install Dependencies
142+ - name : Install dependencies
130143 run : pnpm install --frozen-lockfile
131144
132145 - name : Build packages
0 commit comments