33 release :
44 types : [published]
55jobs :
6- release :
7- name : " Publish Release"
6+ stage :
7+ name : " Stage Release"
88 runs-on : ubuntu-24.04
9+ outputs :
10+ release_version : ${{ steps.release_version.outputs.value }}
911 permissions :
1012 packages : read # for pre-release workflow
1113 contents : write # to commit changes related to the release and publish documentation to gh-pages
2426 with :
2527 develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2628 - name : " 📝 Store the current release version"
29+ id : release_version
2730 run : |
2831 echo "Release version: ${GITHUB_REF:11}"
2932 echo "RELEASE_VERSION=${GITHUB_REF:11}" >> $GITHUB_ENV
33+ echo "value=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
3034 - name : " ⚙ Run pre-release"
3135 uses : apache/grails-github-actions/pre-release@asf
3236 - name : " 🔐 Generate key file for artifact signing"
@@ -38,15 +42,49 @@ jobs:
3842 GRAILS_PUBLISH_RELEASE : ' true'
3943 NEXUS_PUBLISH_USERNAME : ${{ secrets.NEXUS_PUBLISH_USERNAME }}
4044 NEXUS_PUBLISH_PASSWORD : ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
41- NEXUS_PUBLISH_URL : ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
42- NEXUS_PUBLISH_STAGING_PROFILE_ID : ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
45+ NEXUS_PUBLISH_URL : ' https://ossrh-staging-api.central.sonatype.com/service/local/'
4346 SIGNING_KEY : ${{ secrets.SIGNING_KEY }}
4447 SIGNING_PASSPHRASE : ${{ secrets.SIGNING_PASSPHRASE }}
4548 run : >
4649 ./gradlew
4750 -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
4851 publishToSonatype
49- closeAndReleaseSonatypeStagingRepository
52+ closeSonatypeStagingRepository
53+ publish :
54+ name : " Publish Release"
55+ needs : [ stage ]
56+ environment : release
57+ runs-on : ubuntu-24.04
58+ permissions :
59+ packages : read # for pre-release workflow
60+ contents : write # to commit changes related to the release and publish documentation to gh-pages
61+ issues : write # to modify milestones
62+ pull-requests : write
63+ steps :
64+ - name : " 📥 Checkout repository"
65+ uses : actions/checkout@v4
66+ with :
67+ token : ${{ secrets.GITHUB_TOKEN }}
68+ ref : v${{ needs.stage.outputs.release_version }}
69+ - name : " ☕️ Setup JDK"
70+ uses : actions/setup-java@v4
71+ with :
72+ java-version : 11
73+ distribution : liberica
74+ - name : " 🐘 Setup Gradle"
75+ uses : gradle/actions/setup-gradle@v4
76+ with :
77+ develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
78+ - name : " 📤 Release artifacts"
79+ env :
80+ GRAILS_PUBLISH_RELEASE : ' true'
81+ NEXUS_PUBLISH_USERNAME : ${{ secrets.NEXUS_PUBLISH_USERNAME }}
82+ NEXUS_PUBLISH_PASSWORD : ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
83+ NEXUS_PUBLISH_URL : ' https://ossrh-staging-api.central.sonatype.com/service/local/'
84+ run : >
85+ ./gradlew
86+ findSonatypeStagingRepository
87+ releaseSonatypeStagingRepository
5088 - name : " 📖 Generate Documentation"
5189 run : ./gradlew docs
5290 - name : " 📤 Publish Documentation to Github Pages"
5593 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
5694 GRADLE_PUBLISH_RELEASE : ' true'
5795 SOURCE_FOLDER : build/docs
58- VERSION : ${{ env.RELEASE_VERSION }}
96+ VERSION : ${{ needs.stage.outputs.release_version }}
5997 - name : " ⚙️ Run post-release"
60- uses : apache/grails-github-actions/post-release@asf
98+ uses : apache/grails-github-actions/post-release@asf
0 commit comments