@@ -2,150 +2,123 @@ name: Release
2
2
on :
3
3
release :
4
4
types : [published]
5
+ env :
6
+ GIT_USER_NAME : ' grails-build'
7
+ GIT_USER_EMAIL : ' grails-build@users.noreply.github.com'
5
8
jobs :
6
9
publish :
7
10
outputs :
8
11
release_version : ${{ steps.release_version.outputs.value }}
9
12
runs-on : ubuntu-latest
10
13
permissions :
11
14
contents : read
12
- env :
13
- GIT_USER_NAME : ' grails-build'
14
- GIT_USER_EMAIL : ' grails-build@users.noreply.github.com'
15
+ packages : read
15
16
steps :
16
17
- name : Checkout repository
17
18
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"
22
20
uses : actions/setup-java@v4
23
21
with :
24
22
distribution : ' liberica'
25
23
java-version : ' 17'
26
- - name : Set the current release version
24
+ - name : " 📝 Store the current release version"
27
25
id : release_version
28
26
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
31
29
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"
34
34
if : success()
35
- id : assemble
36
- uses : gradle/gradle-build-action@v3
37
- with :
38
- arguments : assemble
35
+ run : ./gradlew assemble
39
36
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 }}
43
37
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"
51
39
env :
52
40
SECRING_FILE : ${{ secrets.SECRING_FILE }}
53
41
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 "
55
43
id : publish
56
- uses : gradle/gradle-build-action@v3
57
44
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 }}
62
49
SIGNING_KEY : ${{ secrets.SIGNING_KEY }}
63
50
SIGNING_PASSPHRASE : ${{ secrets.SIGNING_PASSPHRASE }}
64
51
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
74
58
release :
75
59
needs : publish
76
60
runs-on : ubuntu-latest
77
61
permissions :
78
62
contents : read
79
63
steps :
80
- - name : Checkout repository
64
+ - name : " 📥 Checkout repository"
81
65
uses : actions/checkout@v4
82
66
with :
83
- token : ${{ secrets.GH_TOKEN }}
84
67
ref : v${{ needs.publish.outputs.release_version }}
85
- - name : Set up JDK
68
+ - name : " ☕️ Setup JDK"
86
69
uses : actions/setup-java@v4
87
70
with :
88
71
distribution : ' liberica'
89
72
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"
92
78
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 }}
100
79
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"
106
88
if : success()
107
89
uses : grails/github-actions/post-release@main
108
- with :
109
- token : ${{ secrets.GITHUB_TOKEN }}
110
- env :
111
- SNAPSHOT_SUFFIX : -SNAPSHOT
112
90
docs :
113
91
needs : publish
114
92
runs-on : ubuntu-latest
115
93
permissions :
116
94
contents : write
95
+ packages : read
117
96
steps :
118
- - name : Checkout repository
97
+ - name : " 📥 Checkout repository"
119
98
uses : actions/checkout@v4
120
99
with :
121
- token : ${{ secrets.GH_TOKEN }}
122
100
ref : v${{ needs.publish.outputs.release_version }}
123
- - name : Set up JDK
101
+ - name : " ☕️ Setup JDK"
124
102
uses : actions/setup-java@v4
125
103
with :
126
104
distribution : ' liberica'
127
105
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
132
108
with :
133
- arguments : docs
109
+ develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
110
+ - name : " 📖 Generate documentation"
134
111
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 }}
138
112
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:docs
114
+ - name : " 📤 Publish documentation to Github Pages"
115
+ if : success()
116
+ uses : grails/github-pages-deploy-action@grails
142
117
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') }}
145
119
GH_TOKEN : ${{ secrets.GH_TOKEN }}
146
120
BRANCH : gh-pages
147
- FOLDER : build/docs
148
- DOC_FOLDER : gh-pages
121
+ FOLDER : docs/ build/docs
122
+ VERSION : ${{ needs.publish.outputs.release_version }}
149
123
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