1+ name : Release CI
2+
13on :
24 push :
35 branches :
@@ -7,97 +9,30 @@ permissions:
79 contents : write
810 pull-requests : write
911
10- name : release
11-
12- env :
13- IS_MERGED_RELEASE_PR : ${{ startsWith(github.event.head_commit.message, '🚀 release:') }}
14-
1512jobs :
16- release :
17- runs-on : ubuntu-latest
13+ prepare :
14+ name : Prepare Release
15+ if : github.event.head.ref != 'release' && !contains(github.event.commits[0].message, '🚀 release:')
16+ runs-on : [ self-hosted, Linux ]
1817 steps :
19- - name : Checkout repository
20- uses : actions/checkout@v4
21- with :
22- fetch-depth : 0
23-
24- - name : Setup GIT
25- uses : fregante/setup-git-user@v2
26-
27- - name : Setup Node
28- uses : actions/setup-node@v3
29- with :
30- node-version : 16
31- registry-url : ' https://registry.npmjs.org'
32-
33- - name : Install dependencies
34- if : ${{ env.IS_MERGED_RELEASE_PR == 'false' }}
35- run : npm ci --ignore-scripts
36-
37- - name : Install dependencies and build package
38- if : ${{ env.IS_MERGED_RELEASE_PR == 'true' }}
39- run : npm ci
40-
41- - name : Decide bump type
42- if : ${{ env.IS_MERGED_RELEASE_PR == 'false' }}
43- id : bump-type
44- run : echo "bump=$(npx conventional-recommended-bump -p @localazy/conventional-changelog-preset)" > "$GITHUB_OUTPUT"
45-
46- - name : Bump version
47- if : ${{ env.IS_MERGED_RELEASE_PR == 'false' }}
48- run : npm version ${{ steps.bump-type.outputs.bump }} --git-tag-version false
49-
50- - name : Update changelog
51- if : ${{ env.IS_MERGED_RELEASE_PR == 'false' }}
52- run : npx conventional-changelog -p @localazy/preset -u -i CHANGELOG.md -s
53-
54- - name : Preview changelog
55- if : ${{ env.IS_MERGED_RELEASE_PR == 'false' }}
56- id : preview-changelog
57- run : |
58- {
59- echo 'changelog<<EOF'
60- npx conventional-changelog -p @localazy/preset -u
61- echo EOF
62- } > "$GITHUB_OUTPUT"
63-
64- - name : Read package.json version
65- id : package-version
66- uses : martinbeentjes/npm-get-version-action@v1.3.1
67-
68- - name : Create release PR
69- if : ${{ env.IS_MERGED_RELEASE_PR == 'false' }}
70- uses : peter-evans/create-pull-request@v5
18+ - name : Prepare release branch and PR
19+ uses : localazy/release@v1
7120 with :
72- branch : " release"
73- commit-message : " 🚀 release: ${{ steps.package-version.outputs.current-version }}"
74- delete-branch : true
75- labels : release-preview
76- title : ${{ steps.package-version.outputs.current-version }}
77- body : ${{ steps.preview-changelog.outputs.changelog }}
78-
79- - name : Read changelog
80- if : ${{ env.IS_MERGED_RELEASE_PR == 'true' }}
81- id : read-changelog
82- run : |
83- {
84- echo 'changelog<<EOF'
85- npx conventional-changelog -p @localazy/preset -r 1
86- echo EOF
87- } > "$GITHUB_OUTPUT"
21+ action : prepare
22+ app-id : ${{ secrets.AUTH_APP_ID }}
23+ app-key : ${{ secrets.AUTH_APP_KEY }}
8824
89- - name : Git tag, GitHub release
90- if : ${{ env.IS_MERGED_RELEASE_PR == 'true' }}
91- uses : avakar/tag-and-release@v1
25+ release :
26+ name : Release
27+ if : github.event.head.ref == 'release' || contains(github.event.commits[0].message, '🚀 release:')
28+ runs-on : [ self-hosted, Linux ]
29+ steps :
30+ - name : Release new version
31+ uses : localazy/release@v1
9232 with :
93- tag_name : ${{ steps.package-version.outputs.current-version }}
94- release_name : ${{ steps.package-version.outputs.current-version }}
95- body : ${{ steps.read-changelog.outputs.changelog }}
96- env :
97- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
98-
99- # - name: Publish NPM package
100- # if: ${{ env.IS_MERGED_RELEASE_PR == 'true' }}
101- # run: npm publish
102- # env:
103- # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
33+ action : release
34+ app-id : ${{ secrets.AUTH_APP_ID }}
35+ app-key : ${{ secrets.AUTH_APP_KEY }}
36+ npm-publish : true
37+ npm-access : true
38+ npm-token : ${{ secrets.NPM_AUTH_TOKEN }}
0 commit comments