11---
22name : CI
33permissions :
4- contents : write # needed for setup-release-action
4+ contents : read
55
66on :
77 pull_request :
@@ -21,16 +21,34 @@ concurrency:
2121 cancel-in-progress : true
2222
2323jobs :
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
2635 runs-on : ubuntu-latest
2736 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
3143 with :
3244 github_token : ${{ secrets.GITHUB_TOKEN }}
3345
46+ build :
47+ name : Build
48+ needs :
49+ - release-setup
50+ runs-on : ubuntu-latest
51+ steps :
3452 - name : Checkout
3553 uses : actions/checkout@v4
3654
7492 -o junit_family=legacy \
7593 tests
7694
77- - name : Upload test results to Codecov
95+ - name : Upload test results
7896 # any except canceled or skipped
7997 if : >-
8098 always() &&
@@ -99,17 +117,45 @@ jobs:
99117 token : ${{ secrets.CODECOV_TOKEN }}
100118 verbose : true
101119
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 :
102151 - 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
107153 with :
108154 allowUpdates : true
109155 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 }}
113159 prerelease : true
114- tag : ${{ steps.setup- release.outputs.release_tag }}
160+ tag : ${{ needs. release-setup .outputs.release_tag }}
115161 token : ${{ secrets.GH_BOT_TOKEN }}
0 commit comments