11{
2+ " name " : " Release" ,
3+ " concurrency " : " ci-${{ github.ref }}" ,
4+ " on " : {
5+ " workflow_dispatch " : {
6+
7+ }
8+ },
29 " jobs " : {
310 " build " : {
4- " outputs " : {
5- " version " : " ${{ steps.record_version_capture_version.outputs.version }}"
6- },
711 " runs-on " : " ubuntu-22.04" ,
8- " permissions " : {
9- " contents " : " write"
10- },
1112 " steps " : [
1213 {
1314 " name " : " Setup Java" ,
1415 " run " : " echo \" JAVA_HOME=$JAVA_HOME_21_X64\" >> \" $GITHUB_ENV\" "
1516 },
1617 {
18+ " name " : " Checkout" ,
19+ " uses " : " actions/checkout@v4" ,
1720 " with " : {
1821 " fetch-depth " : " 0"
19- },
20- " name " : " Checkout" ,
21- " uses " : " actions/checkout@v4"
22+ }
2223 },
2324 {
2425 " name " : " Validate Gradle Wrapper" ,
2526 " uses " : " gradle/actions/wrapper-validation@v4"
2627 },
2728 {
29+ " name " : " Cache" ,
30+ " uses " : " actions/cache@v4" ,
2831 " with " : {
2932 " path " : " **/.gradle/loom-cache\n **/.gradle/quilt-loom-cache" ,
3033 " key " : " ${{ runner.os }}-gradle-${{ hashFiles('**/libs.versions.*', '**/*.gradle*', '**/gradle-wrapper.properties') }}" ,
3134 " restore-keys " : " ${{ runner.os }}-gradle-"
32- },
33- " name " : " Cache" ,
34- " uses " : " actions/cache@v4"
35+ }
3536 },
3637 {
38+ " name " : " Setup Gradle" ,
39+ " uses " : " gradle/actions/setup-gradle@v4" ,
3740 " with " : {
3841 " gradle-home-cache-cleanup " : true
39- },
40- " name " : " Setup Gradle" ,
41- " uses " : " gradle/actions/setup-gradle@v4"
42+ }
4243 },
4344 {
4445 " uses " : " fregante/setup-git-user@v2"
4546 },
4647 {
4748 " name " : " Tag Release" ,
48- " run " : " ./gradlew tagRelease" ,
4949 " id " : " tag_release" ,
50+ " run " : " ./gradlew tagRelease" ,
5051 " env " : {
5152 " BUILD_CACHE_PASSWORD " : " ${{ secrets.BUILD_CACHE_PASSWORD }}" ,
5253 " BUILD_CACHE_USER " : " ${{ secrets.BUILD_CACHE_USER }}" ,
5556 },
5657 {
5758 " name " : " Build" ,
58- " run " : " ./gradlew build" ,
5959 " id " : " build" ,
60+ " run " : " ./gradlew build" ,
6061 " env " : {
6162 " BUILD_CACHE_PASSWORD " : " ${{ secrets.BUILD_CACHE_PASSWORD }}" ,
6263 " BUILD_CACHE_USER " : " ${{ secrets.BUILD_CACHE_USER }}" ,
6869 },
6970 {
7071 " name " : " Record Version" ,
71- " run " : " ./gradlew recordVersion" ,
7272 " id " : " record_version" ,
73+ " run " : " ./gradlew recordVersion" ,
7374 " env " : {
7475 " BUILD_CACHE_PASSWORD " : " ${{ secrets.BUILD_CACHE_PASSWORD }}" ,
7576 " BUILD_CACHE_USER " : " ${{ secrets.BUILD_CACHE_USER }}" ,
7879 },
7980 {
8081 " name " : " Capture Recorded Version" ,
81- " run " : " echo version=$(cat build/recordVersion.txt) >> \" $GITHUB_OUTPUT \" " ,
82- " id " : " record_version_capture_version "
82+ " id " : " record_version_capture_version " ,
83+ " run " : " echo version=$(cat build/recordVersion.txt) >> \" $GITHUB_OUTPUT \" "
8384 },
8485 {
8586 " name " : " Submit Dependencies" ,
9091 " BUILD_CACHE_URL " : " ${{ secrets.BUILD_CACHE_URL }}"
9192 }
9293 }
93- ]
94+ ],
95+ " permissions " : {
96+ " contents " : " write"
97+ },
98+ " outputs " : {
99+ " version " : " ${{ steps.record_version_capture_version.outputs.version }}"
100+ }
94101 },
95102 " publish " : {
96- " needs " : [
97- " build"
98- ],
99103 " runs-on " : " ubuntu-22.04" ,
100104 " steps " : [
101105 {
102106 " name " : " Setup Java" ,
103107 " run " : " echo \" JAVA_HOME=$JAVA_HOME_21_X64\" >> \" $GITHUB_ENV\" "
104108 },
105109 {
110+ " name " : " Checkout" ,
111+ " uses " : " actions/checkout@v4" ,
106112 " with " : {
107113 " fetch-depth " : " 0" ,
108114 " ref " : " refs/tags/${{needs.build.outputs.version}}" ,
109115 " persist-credentials " : " false"
110- },
111- " name " : " Checkout" ,
112- " uses " : " actions/checkout@v4"
116+ }
113117 },
114118 {
115119 " name " : " Validate Gradle Wrapper" ,
116120 " uses " : " gradle/actions/wrapper-validation@v4"
117121 },
118122 {
123+ " name " : " Cache" ,
124+ " uses " : " actions/cache/restore@v4" ,
119125 " with " : {
120126 " path " : " **/.gradle/loom-cache\n **/.gradle/quilt-loom-cache" ,
121127 " key " : " ${{ runner.os }}-gradle-${{ hashFiles('**/libs.versions.*', '**/*.gradle*', '**/gradle-wrapper.properties') }}" ,
122128 " restore-keys " : " ${{ runner.os }}-gradle-"
123- },
124- " name " : " Cache" ,
125- " uses " : " actions/cache/restore@v4"
129+ }
126130 },
127131 {
132+ " name " : " Setup Gradle" ,
133+ " uses " : " gradle/actions/setup-gradle@v4" ,
128134 " with " : {
129135 " cache-read-only " : true,
130136 " gradle-home-cache-cleanup " : true
131- },
132- " name " : " Setup Gradle" ,
133- " uses " : " gradle/actions/setup-gradle@v4"
137+ }
134138 },
135139 {
136140 " name " : " Publish" ,
137- " run " : " ./gradlew publish closeAndReleaseSonatypeStagingRepository" ,
138141 " id " : " publish" ,
142+ " run " : " ./gradlew publish closeAndReleaseSonatypeStagingRepository" ,
139143 " env " : {
140144 " BUILD_CACHE_PASSWORD " : " ${{ secrets.BUILD_CACHE_PASSWORD }}" ,
141145 " BUILD_CACHE_USER " : " ${{ secrets.BUILD_CACHE_USER }}" ,
142146 " BUILD_CACHE_URL " : " ${{ secrets.BUILD_CACHE_URL }}" ,
143147 " GPG_KEY " : " ${{ secrets.GPG_KEY }}" ,
144148 " GPG_PASSWORD " : " ${{ secrets.GPG_PASSWORD }}" ,
145- " SONATYPE_PASSWORD " : " ${{ secrets.SONATYPE_PASSWORD }}" ,
146- " SONATYPE_USER " : " ${{ secrets.SONATYPE_USER }}" ,
149+ " CENTRAL_PASSWORD " : " ${{ secrets.CENTRAL_PASSWORD }}" ,
150+ " CENTRAL_USERNAME " : " ${{ secrets.CENTRAL_USERNAME }}" ,
147151 " STAGING_MAVEN_PASSWORD " : " ${{ secrets.STAGING_MAVEN_PASSWORD }}" ,
148152 " STAGING_MAVEN_USER " : " github" ,
149153 " STAGING_MAVEN_URL " : " https://maven.lukebemish.dev/staging/"
150154 }
151155 }
156+ ],
157+ " needs " : [
158+ " build"
152159 ]
153160 }
154- },
155- " name " : " Release" ,
156- " concurrency " : " ci-${{ github.ref }}" ,
157- " on " : {
158- " workflow_dispatch " : {
159-
160- }
161161 }
162- }
162+ }
0 commit comments