2323 id : version
2424 uses : release-kit/semver@v2
2525
26- - name : Get release branch name
27- id : release-branch
28- run : echo "::set-output name=name::${{ steps.version.outputs.prerelease != null && 'release/${{ steps.version.outputs.prerelease }}' || 'release/latest' }}"
29-
30- - name : Checkout/create release branch
31- run : git checkout ${{ steps.release-branch.outputs.name }} || git checkout -b ${{ steps.release-branch.outputs.name }}
32-
33- - name : Check if branch exists on remote
34- id : release-branch-exists
35- run : echo "::set-output name=exists::$(git ls-remote --heads ${{ github.server_url }}/${{ github.repository }} ${{ steps.release-branch.outputs.name }} | wc -l)"
36-
37- - name : Create release branch if it's not exist
38- if : ${{ steps.release-branch-exists.outputs.exists == '0' }}
39- run : git push -u origin ${{ steps.release-branch.outputs.name }}
40-
41- - name : Sync release branch with released tag
42- run : git reset --hard ${{ github.event.release.tag_name }}
43-
44- - name : Push release branch to remote
45- uses : CasperWA/push-protected@v2
46- with :
47- token : ${{ secrets.FULL_ACCESS_GITHUB_TOKEN }}
48- branch : ${{ steps.release-branch.outputs.name }}
49- tags : true
50- force : true
51- unprotect_reviews : true
52-
5326 - uses : actions/setup-node@v4
5427 with :
5528 node-version : 20
7447 if : ${{ steps.version.outputs.prerelease == '' }}
7548 run : npm publish
7649
50+ - name : Force update remote latest release branch
51+ if : ${{ steps.version.outputs.prerelease == '' }}
52+ run : git push origin ${{ github.event.release.tag_name }}:refs/heads/release/latest -f
53+
54+ - name : Force update remote major release branch
55+ if : ${{ steps.version.outputs.prerelease == '' }}
56+ run : git push origin ${{ github.event.release.tag_name }}:refs/heads/release/${{ steps.version.outputs.major }} -f
57+
7758 - name : Publish RC
7859 if : ${{ steps.version.outputs.prerelease != '' }}
79- run : npm publish --tag ${{ steps.version.outputs.prerelease }}
60+ run : npm publish --tag ${{ steps.version.outputs.prerelease }}
61+
62+ - name : Force update remote latest release branch
63+ if : ${{ steps.version.outputs.prerelease != '' }}
64+ run : git push origin ${{ github.event.release.tag_name }}:refs/heads/release/latest-${{ steps.version.outputs.prerelease }} -f
65+
66+ - name : Force update remote major release branch
67+ if : ${{ steps.version.outputs.prerelease != '' }}
68+ run : git push origin ${{ github.event.release.tag_name }}:refs/heads/release/${{ steps.version.outputs.major }}-${{ steps.version.outputs.prerelease }} -f
0 commit comments