@@ -2,150 +2,123 @@ name: Release
22on :
33 release :
44 types : [published]
5+ env :
6+ GIT_USER_NAME : ' grails-build'
7+ GIT_USER_EMAIL :
' [email protected] ' 58jobs :
69 publish :
710 outputs :
811 release_version : ${{ steps.release_version.outputs.value }}
912 runs-on : ubuntu-latest
1013 permissions :
1114 contents : read
12- env :
13- GIT_USER_NAME : ' grails-build'
14- GIT_USER_EMAIL :
' [email protected] ' 15+ packages : read
1516 steps :
1617 - name : Checkout repository
1718 uses : actions/checkout@v4
18- with :
19- token : ${{ secrets.GH_TOKEN }}
20- - uses : gradle/wrapper-validation-action@v2
21- - name : Set up JDK
19+ - name : " ☕️ Setup JDK"
2220 uses : actions/setup-java@v4
2321 with :
2422 distribution : ' liberica'
2523 java-version : ' 17'
26- - name : Set the current release version
24+ - name : " 📝 Store the current release version"
2725 id : release_version
2826 run : echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
29- - name : Run pre-release
30- uses : grails/github- actions/pre-release@main
27+ - name : " 🐘 Setup Gradle "
28+ uses : gradle/ actions/setup-gradle@v4
3129 with :
32- token : ${{ secrets.GITHUB_TOKEN }}
33- - name : Run Assemble
30+ develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
31+ - name : " ⚙ Run pre-release"
32+ uses : grails/github-actions/pre-release@main
33+ - name : " 🧩 Run Assemble"
3434 if : success()
35- id : assemble
36- uses : gradle/gradle-build-action@v3
37- with :
38- arguments : assemble
35+ run : ./gradlew assemble
3936 env :
40- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
41- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
42- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
4337 GITHUB_MAVEN_PASSWORD : ${{ secrets.GITHUB_TOKEN }}
44- - name : Upload Distribution
45- if : success()
46- uses : actions/upload-artifact@v4
47- with :
48- name : grails-gsp-${{ steps.release_version.outputs.value }}
49- path : ./**/build/libs/*
50- - name : Generate secring file
38+ - name : " 🔐 Generate key file for artifact signing"
5139 env :
5240 SECRING_FILE : ${{ secrets.SECRING_FILE }}
5341 run : echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
54- - name : Publish to Sonatype OSSRH
42+ - name : " 📤 Publish to and close Sonatype staging repository "
5543 id : publish
56- uses : gradle/gradle-build-action@v3
5744 env :
58- NEXUS_PUBLISH_USERNAME : ${{ secrets.NEXUS_PUBLISH_USERNAME }}
59- NEXUS_PUBLISH_PASSWORD : ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
60- NEXUS_PUBLISH_URL : ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
61- NEXUS_PUBLISH_STAGING_PROFILE_ID : ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
45+ GITHUB_MAVEN_PASSWORD : ${{ secrets.GITHUB_TOKEN }}
46+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
47+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
48+ SONATYPE_STAGING_PROFILE_ID : ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
6249 SIGNING_KEY : ${{ secrets.SIGNING_KEY }}
6350 SIGNING_PASSPHRASE : ${{ secrets.SIGNING_PASSPHRASE }}
6451 SECRING_FILE : ${{ secrets.SECRING_FILE }}
65- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
66- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
67- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
68- GITHUB_MAVEN_PASSWORD : ${{ secrets.GITHUB_TOKEN }}
69- with :
70- arguments : |
71- -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
72- publishToSonatype
73- closeSonatypeStagingRepository
52+ GRADLE_PUBLISH_RELEASE : ' true'
53+ run : >
54+ ./gradlew
55+ -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
56+ publishToSonatype
57+ closeSonatypeStagingRepository
7458 release :
7559 needs : publish
7660 runs-on : ubuntu-latest
7761 permissions :
7862 contents : read
7963 steps :
80- - name : Checkout repository
64+ - name : " 📥 Checkout repository"
8165 uses : actions/checkout@v4
8266 with :
83- token : ${{ secrets.GH_TOKEN }}
8467 ref : v${{ needs.publish.outputs.release_version }}
85- - name : Set up JDK
68+ - name : " ☕️ Setup JDK"
8669 uses : actions/setup-java@v4
8770 with :
8871 distribution : ' liberica'
8972 java-version : ' 17'
90- - name : Nexus Staging Close And Release
91- uses : gradle/gradle-build-action@v3
73+ - name : " 🐘 Setup Gradle"
74+ uses : gradle/actions/setup-gradle@v4
75+ with :
76+ develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
77+ - name : " 🚀 Release Sonatype Staging Repository"
9278 env :
93- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
94- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
95- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
96- NEXUS_PUBLISH_USERNAME : ${{ secrets.NEXUS_PUBLISH_USERNAME }}
97- NEXUS_PUBLISH_PASSWORD : ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
98- NEXUS_PUBLISH_URL : ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
99- NEXUS_PUBLISH_STAGING_PROFILE_ID : ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
10079 GITHUB_MAVEN_PASSWORD : ${{ secrets.GITHUB_TOKEN }}
101- with :
102- arguments : |
103- findSonatypeStagingRepository
104- releaseSonatypeStagingRepository
105- - name : Run post-release
80+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
81+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
82+ SONATYPE_STAGING_PROFILE_ID : ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
83+ run : >
84+ ./gradlew
85+ findSonatypeStagingRepository
86+ releaseSonatypeStagingRepository
87+ - name : " ⚙️ Run post-release"
10688 if : success()
10789 uses : grails/github-actions/post-release@main
108- with :
109- token : ${{ secrets.GITHUB_TOKEN }}
110- env :
111- SNAPSHOT_SUFFIX : -SNAPSHOT
11290 docs :
11391 needs : publish
11492 runs-on : ubuntu-latest
11593 permissions :
11694 contents : write
95+ packages : read
11796 steps :
118- - name : Checkout repository
97+ - name : " 📥 Checkout repository"
11998 uses : actions/checkout@v4
12099 with :
121- token : ${{ secrets.GH_TOKEN }}
122100 ref : v${{ needs.publish.outputs.release_version }}
123- - name : Set up JDK
101+ - name : " ☕️ Setup JDK"
124102 uses : actions/setup-java@v4
125103 with :
126104 distribution : ' liberica'
127105 java-version : ' 17'
128- - name : Publish Documentation
129- id : docs
130- if : success()
131- uses : gradle/gradle-build-action@v3
106+ - name : " 🐘 Setup Gradle"
107+ uses : gradle/actions/setup-gradle@v4
132108 with :
133- arguments : docs
109+ develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
110+ - name : " 📖 Generate documentation"
134111 env :
135- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
136- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
137- GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY : ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
138112 GITHUB_MAVEN_PASSWORD : ${{ secrets.GITHUB_TOKEN }}
139- - name : Publish to Github Pages
140- if : steps.docs.outcome == 'success'
141- uses : grails/github-pages-deploy-action@v2
113+ run : ./gradlew docs
114+ - name : " 📤 Publish documentation to Github Pages"
115+ if : success()
116+ uses : grails/github-pages-deploy-action@grails
142117 env :
143- SKIP_LATEST : ${{ contains(steps.release_version.outputs.release_version, 'M') }}
144- TARGET_REPOSITORY : ${{ github.repository }}
118+ BETA : ${{ contains(needs.publish.outputs.release_version, 'M') || contains(needs.publish.outputs.release_version, 'RC') }}
145119 GH_TOKEN : ${{ secrets.GH_TOKEN }}
146120 BRANCH : gh-pages
147121 FOLDER : build/docs
148- DOC_FOLDER : gh-pages
122+ VERSION : ${{ needs.publish.outputs.release_version }}
149123 COMMIT_EMAIL : ${{ env.GIT_USER_EMAIL }}
150- COMMIT_NAME : ${{ env.GIT_USER_NAME }}
151- VERSION : ${{ steps.release_version.outputs.release_version }}
124+ COMMIT_NAME : ${{ env.GIT_USER_NAME }}
0 commit comments