1
1
---
2
2
name : CI
3
3
permissions :
4
- contents : write # needed for setup-release-action
4
+ contents : read
5
5
6
6
on :
7
7
pull_request :
@@ -21,16 +21,34 @@ concurrency:
21
21
cancel-in-progress : true
22
22
23
23
jobs :
24
- build :
25
- name : Build
24
+ release-setup :
25
+ name : Release Setup
26
+ outputs :
27
+ publish_release : ${{ steps.release-setup.outputs.publish_release }}
28
+ release_body : ${{ steps.release-setup.outputs.release_body }}
29
+ release_commit : ${{ steps.release-setup.outputs.release_commit }}
30
+ release_generate_release_notes : ${{ steps.release-setup.outputs.release_generate_release_notes }}
31
+ release_tag : ${{ steps.release-setup.outputs.release_tag }}
32
+ release_version : ${{ steps.release-setup.outputs.release_version }}
33
+ permissions :
34
+ contents : write
26
35
runs-on : ubuntu-latest
27
36
steps :
28
- - name : Setup Release
29
- id : setup-release
30
- uses : LizardByte/setup-release-action@v2025.612.120948
37
+ - name : Checkout
38
+ uses : actions/checkout@v4
39
+
40
+ - name : Release Setup
41
+ id : release-setup
42
+ uses : LizardByte/actions/actions/release_setup@v2025.627.30023
31
43
with :
32
44
github_token : ${{ secrets.GITHUB_TOKEN }}
33
45
46
+ build :
47
+ name : Build
48
+ needs :
49
+ - release-setup
50
+ runs-on : ubuntu-latest
51
+ steps :
34
52
- name : Checkout
35
53
uses : actions/checkout@v4
36
54
74
92
-o junit_family=legacy \
75
93
tests
76
94
77
- - name : Upload test results to Codecov
95
+ - name : Upload test results
78
96
# any except canceled or skipped
79
97
if : >-
80
98
always() &&
@@ -99,17 +117,45 @@ jobs:
99
117
token : ${{ secrets.CODECOV_TOKEN }}
100
118
verbose : true
101
119
120
+ build-docker :
121
+ name : Docker
122
+ needs : release-setup
123
+ permissions :
124
+ contents : read
125
+ packages : write
126
+ uses : LizardByte/.github/.github/workflows/__call-docker.yml@master
127
+ with :
128
+ maximize_build_space : false
129
+ publish_release : ${{ needs.release-setup.outputs.publish_release }}
130
+ release_commit : ${{ needs.release-setup.outputs.release_commit }}
131
+ release_tag : ${{ needs.release-setup.outputs.release_tag }}
132
+ secrets :
133
+ DOCKER_HUB_USERNAME : ${{ secrets.DOCKER_HUB_USERNAME }}
134
+ DOCKER_HUB_PASSWORD : ${{ secrets.DOCKER_HUB_PASSWORD }}
135
+ DOCKER_HUB_ACCESS_TOKEN : ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
136
+ GH_BOT_NAME : ${{ secrets.GH_BOT_NAME }}
137
+ GH_BOT_TOKEN : ${{ secrets.GH_BOT_TOKEN }}
138
+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
139
+
140
+ create-release :
141
+ name : Create Release
142
+ if : >-
143
+ (github.event_name == 'push' && github.ref == 'refs/heads/master') &&
144
+ needs.release-setup.outputs.publish_release == 'true'
145
+ needs :
146
+ - release-setup
147
+ - build
148
+ - build-docker
149
+ runs-on : ubuntu-latest
150
+ steps :
102
151
- name : Create/Update GitHub Release
103
- if : >-
104
- (github.event_name == 'push' && github.ref == 'refs/heads/master') &&
105
- steps.setup-release.outputs.publish_release == 'true'
106
- uses : LizardByte/create-release-action@v2025.612.13419
152
+ uses : LizardByte/actions/actions/release_create@v2025.627.30023
107
153
with :
108
154
allowUpdates : true
109
155
artifacts : ' '
110
- body : ${{ steps.setup- release.outputs.release_body }}
111
- generateReleaseNotes : ${{ steps.setup- release.outputs.release_generate_release_notes }}
112
- name : ${{ steps.setup- release.outputs.release_tag }}
156
+ body : ${{ needs. release-setup .outputs.release_body }}
157
+ generateReleaseNotes : ${{ needs. release-setup .outputs.release_generate_release_notes }}
158
+ name : ${{ needs. release-setup .outputs.release_tag }}
113
159
prerelease : true
114
- tag : ${{ steps.setup- release.outputs.release_tag }}
160
+ tag : ${{ needs. release-setup .outputs.release_tag }}
115
161
token : ${{ secrets.GH_BOT_TOKEN }}
0 commit comments