@@ -118,56 +118,48 @@ jobs:
118118 permissions :
119119 contents : write
120120 runs-on : ubuntu-latest
121- outputs :
122- extract_repository_name : ${{ steps.extract_repository_name.outputs.repository_name }}
123121 steps :
124- - name : " Extract repository name"
125- id : extract_repository_name
126- run : |
127- echo "repository_name=${GITHUB_REPOSITORY##*/}" >> $GITHUB_OUTPUT
128122 - name : " 📥 Checkout repository"
129123 uses : actions/checkout@v4
130124 with :
131125 token : ${{ secrets.GITHUB_TOKEN }}
132- ref : ${{ github.ref_name }}
133- path : ${{ steps.extract_repository_name .outputs.repository_name }}
126+ ref : v ${{ needs.publish.outputs.release_version }}
127+ path : ${{ needs.publish .outputs.extract_repository_name }}
134128 - name : " 🗑️ Remove unnecessary files"
135129 run : |
136- rm -f ${{ steps.extract_repository_name .outputs.repository_name }}/gradle/wrapper/gradle-wrapper.jar
137- rm -f ${{ steps.extract_repository_name .outputs.repository_name }}/gradle/wrapper/gradle-wrapper.properties
138- rm -f ${{ steps.extract_repository_name .outputs.repository_name }}/gradlew
139- rm -f ${{ steps.extract_repository_name .outputs.repository_name }}/gradlew.bat
140- rm -f ${{ steps.extract_repository_name .outputs.repository_name }}/.asf.yaml
130+ rm -f ${{ needs.publish .outputs.extract_repository_name }}/gradle/wrapper/gradle-wrapper.jar
131+ rm -f ${{ needs.publish .outputs.extract_repository_name }}/gradle/wrapper/gradle-wrapper.properties
132+ rm -f ${{ needs.publish .outputs.extract_repository_name }}/gradlew
133+ rm -f ${{ needs.publish .outputs.extract_repository_name }}/gradlew.bat
134+ rm -f ${{ needs.publish .outputs.extract_repository_name }}/.asf.yaml
141135 - name : " Download CHECKSUMS.txt and rename to CHECKSUMS"
142136 env :
143137 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
144138 run : |
145- cd ${{ steps.extract_repository_name .outputs.repository_name }}
146- release_url=$(gh release view ${{ github.ref_name }} --json assets --repo ${{ github.repository }} --jq '.assets[] | select(.name == "CHECKSUMS.txt") | .url')
139+ cd ${{ needs.publish .outputs.extract_repository_name }}
140+ release_url=$(gh release view v ${{ needs.publish.outputs.release_version }} --json assets --repo ${{ github.repository }} --jq '.assets[] | select(.name == "CHECKSUMS.txt") | .url')
147141 curl -L -H "Authorization: token $GH_TOKEN" -o CHECKSUMS "$release_url"
148142 - name : " Download PUBLISHED_ARTIFACTS.txt and rename to PUBLISHED_ARTIFACTS"
149143 env :
150144 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
151145 run : |
152- cd ${{ steps.extract_repository_name .outputs.repository_name }}
153- release_url=$(gh release view ${{ github.ref_name }} --json assets --repo ${{ github.repository }} --jq '.assets[] | select(.name == "PUBLISHED_ARTIFACTS.txt") | .url')
146+ cd ${{ needs.publish .outputs.extract_repository_name }}
147+ release_url=$(gh release view v ${{ needs.publish.outputs.release_version }} --json assets --repo ${{ github.repository }} --jq '.assets[] | select(.name == "PUBLISHED_ARTIFACTS.txt") | .url')
154148 curl -L -H "Authorization: token $GH_TOKEN" -o PUBLISHED_ARTIFACTS "$release_url"
155149 - name : " Download BUILD_DATE.txt and rename to BUILD_DATE"
156150 env :
157151 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
158152 run : |
159- cd ${{ steps.extract_repository_name .outputs.repository_name }}
160- release_url=$(gh release view ${{ github.ref_name }} --json assets --repo ${{ github.repository }} --jq '.assets[] | select(.name == "BUILD_DATE.txt") | .url')
153+ cd ${{ needs.publish .outputs.extract_repository_name }}
154+ release_url=$(gh release view v ${{ needs.publish.outputs.release_version }} --json assets --repo ${{ github.repository }} --jq '.assets[] | select(.name == "BUILD_DATE.txt") | .url')
161155 curl -L -H "Authorization: token $GH_TOKEN" -o BUILD_DATE "$release_url"
162156 - name : " Ensure source files use common date"
163157 run : |
164- SOURCE_DATE_EPOCH=$(cat ${{ steps.extract_repository_name .outputs.repository_name }}/BUILD_DATE)
158+ SOURCE_DATE_EPOCH=$(cat ${{ needs.publish .outputs.extract_repository_name }}/BUILD_DATE)
165159 find . -depth \( -type f -o -type d \) -exec touch -d "@${SOURCE_DATE_EPOCH}" {} +
166160 - name : " 📦 Create source distribution ZIP"
167161 run : |
168- version="${{ github.ref_name }}"
169- version="${version#v}" # Strip 'v' prefix
170- zip -r "apache-${{ steps.extract_repository_name.outputs.repository_name }}-${version}-incubating-src.zip" ${{ steps.extract_repository_name.outputs.repository_name }} -x '${{ steps.extract_repository_name.outputs.repository_name }}/.git/*' -x '${{ steps.extract_repository_name.outputs.repository_name }}/.github/*'
162+ zip -r "apache-${{ needs.publish.outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }}-incubating-src.zip" ${{ needs.publish.outputs.extract_repository_name }} -x '${{ needs.publish.outputs.extract_repository_name }}/.git/*' -x '${{ needs.publish.outputs.extract_repository_name }}/.github/*'
171163 - name : ' 🔐 Set up GPG'
172164 run : |
173165 echo "${{ secrets.GRAILS_GPG_KEY }}" | gpg --batch --import
@@ -178,69 +170,40 @@ jobs:
178170 env :
179171 GPG_KEY_ID : ${{ secrets.GPG_KEY_ID }}
180172 run : |
181- version="${{ github.ref_name }}"
182- version="${version#v}" # Strip 'v' prefix
183- gpg --default-key "${GPG_KEY_ID}" --batch --yes --pinentry-mode loopback --armor --detach-sign apache-${{ steps.extract_repository_name.outputs.repository_name }}-${version}-incubating-src.zip
173+ gpg --default-key "${GPG_KEY_ID}" --batch --yes --pinentry-mode loopback --armor --detach-sign ./apache-${{ needs.publish.outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }}-incubating-src.zip
184174 - name : " 📦 Create source distribution checksum"
185175 run : |
186- version="${{ github.ref_name }}"
187- version="${version#v}" # Strip 'v' prefix
188- sha512sum apache-${{ steps.extract_repository_name.outputs.repository_name }}-${version}-incubating-src.zip > "apache-${{ steps.extract_repository_name.outputs.repository_name }}-${version}-incubating-src.zip.sha512"
176+ sha512sum ./apache-${{ needs.publish.outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }}-incubating-src.zip > "apache-${{ needs.publish.outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }}-incubating-src.zip.sha512"
177+ cat ./apache-${{ needs.publish.outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }}-incubating-src.zip.sha512
189178 - name : " 🚀 Upload ZIP and Signature to GitHub Release"
190179 uses : softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631
191180 with :
192- tag_name : ${{ github.ref_name }}
181+ tag_name : v ${{ needs.publish.outputs.release_version }}
193182 files : |
194- apache-${{ steps.extract_repository_name .outputs.repository_name }}-* -incubating-src.zip
195- apache-${{ steps.extract_repository_name .outputs.repository_name }}-* -incubating-src.zip.sha512
196- apache-${{ steps.extract_repository_name .outputs.repository_name }}-* -incubating-src.zip.asc
183+ apache-${{ needs.publish .outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }} -incubating-src.zip
184+ apache-${{ needs.publish .outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }} -incubating-src.zip.sha512
185+ apache-${{ needs.publish .outputs.extract_repository_name }}-${{ needs.publish.outputs.release_version }} -incubating-src.zip.asc
197186 - name : " Remove CHECKSUMS.txt asset from release"
198187 env :
199188 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
200189 run : |
201190 set -e
202- cd ${{ steps.extract_repository_name .outputs.repository_name }}
203- gh release --repo ${{ github.repository }} delete-asset ${{ github.ref_name }} CHECKSUMS.txt --yes
191+ cd ${{ needs.publish .outputs.extract_repository_name }}
192+ gh release --repo ${{ github.repository }} delete-asset v ${{ needs.publish.outputs.release_version }} CHECKSUMS.txt --yes
204193 - name : " Remove BUILD_DATE.txt asset from release"
205194 env :
206195 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
207196 run : |
208197 set -e
209- cd ${{ steps.extract_repository_name .outputs.repository_name }}
210- gh release --repo ${{ github.repository }} delete-asset ${{ github.ref_name }} BUILD_DATE.txt --yes
198+ cd ${{ needs.publish .outputs.extract_repository_name }}
199+ gh release --repo ${{ github.repository }} delete-asset v ${{ needs.publish.outputs.release_version }} BUILD_DATE.txt --yes
211200 - name : " Remove PUBLISHED_ARTIFACTS.txt asset from release"
212201 env :
213202 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
214203 run : |
215204 set -e
216- cd ${{ steps.extract_repository_name.outputs.repository_name }}
217- gh release --repo ${{ github.repository }} delete-asset ${{ github.ref_name }} PUBLISHED_ARTIFACTS.txt --yes
218- release :
219- name : " Close Release"
220- environment : release
221- needs : [publish, source, docs]
222- runs-on : ubuntu-latest
223- permissions :
224- contents : write
225- issues : write
226- pull-requests : write
227- steps :
228- - name : " 📥 Checkout repository"
229- uses : actions/checkout@v4
230- with :
231- token : ${{ secrets.GITHUB_TOKEN }}
232- ref : v${{ needs.publish.outputs.release_version }}
233- - name : " ☕️ Setup JDK"
234- uses : actions/setup-java@v4
235- with :
236- distribution : liberica
237- java-version : ' 17.0.15'
238- - name : " 🐘 Setup Gradle"
239- uses : gradle/actions/setup-gradle@v4
240- with :
241- develocity-access-key : ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
242- - name : " ⚙️ Run post-release"
243- uses : apache/grails-github-actions/post-release@asf
205+ cd ${{ needs.publish.outputs.extract_repository_name }}
206+ gh release --repo ${{ github.repository }} delete-asset v${{ needs.publish.outputs.release_version }} PUBLISHED_ARTIFACTS.txt --yes
244207 docs :
245208 environment : docs
246209 name : " Publish Documentation"
@@ -274,4 +237,30 @@ jobs:
274237 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
275238 GRADLE_PUBLISH_RELEASE : ' true'
276239 SOURCE_FOLDER : build/docs
277- VERSION : ${{ needs.publish.outputs.release_version }}
240+ VERSION : ${{ needs.publish.outputs.release_version }}
241+ release :
242+ name : " Close Release"
243+ environment : release
244+ needs : [ publish, source, docs ]
245+ runs-on : ubuntu-latest
246+ permissions :
247+ contents : write # required for gradle.properties revert
248+ issues : write # required for milestone closing
249+ pull-requests : write # to open PR
250+ steps :
251+ - name : " 📥 Checkout repository"
252+ uses : actions/checkout@v4
253+ with :
254+ token : ${{ secrets.GITHUB_TOKEN }}
255+ ref : v${{ needs.publish.outputs.release_version }}
256+ - name : " ☕️ Setup JDK"
257+ uses : actions/setup-java@v4
258+ with :
259+ distribution : liberica
260+ java-version : ' 17.0.15'
261+ - name : " 🐘 Setup Gradle"
262+ uses : gradle/actions/setup-gradle@v4
263+ with :
264+ develocity-access-key : ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
265+ - name : " ⚙️ Run post-release"
266+ uses : apache/grails-github-actions/post-release@asf
0 commit comments