@@ -3,9 +3,9 @@ name: Release And Publish
33on :
44 # Automatic trigger from build-main workflow
55 workflow_run :
6- workflows : ["Build Main"]
7- types : [completed]
8- branches : [main]
6+ workflows : [ "Build Main" ]
7+ types : [ completed ]
8+ branches : [ main ]
99
1010 # Manual trigger for production releases
1111 workflow_dispatch :
1515 required : true
1616 default : ' release'
1717 type : choice
18- options : ['release', 'snapshot']
18+ options : [ 'release', 'snapshot' ]
1919
2020 # Support existing tag-based releases
2121 push :
4949 MC_USERNAME : ${{ secrets.MC_USERNAME }}
5050 MC_PASSWORD : ${{ secrets.MC_PASSWORD }}
5151
52- # JReleaser credentials (single-line values)
52+ # JReleaser credentials
53+ JRELEASER_GPG_PUBLIC_KEY : ${{ secrets.GPG_PUBLIC_KEY }}
54+ JRELEASER_GPG_SECRET_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
5355 JRELEASER_GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
5456 JRELEASER_GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
5557
@@ -136,34 +138,28 @@ jobs:
136138 run : |
137139 ./gradlew --no-daemon build publishAllPublicationsToLocalStagingRepository -Prelease.mode=${{ steps.release-context.outputs.release_type }}
138140
139- # Export multiline GPG keys (single-line vars are set at job level)
140- - name : Export GPG keys
141- shell : bash
142- run : |
143- ./gradlew --no-daemon build publishAllPublicationsToLocalStagingRepository
144-
145- # Map secrets -> JReleaser env vars
146- - name : Export JReleaser env vars
147- shell : bash
148- run : |
149- # Maven Central (Publisher API) creds
150- echo "JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_APP_USERNAME=${{ secrets.MC_USERNAME }}" >> $GITHUB_ENV
151- echo "JRELEASER_DEPLOY_MAVEN_MAVENCENTRAL_APP_PASSWORD=${{ secrets.MC_PASSWORD }}" >> $GITHUB_ENV
152-
153- # GPG passphrase
154- echo "JRELEASER_GPG_PASSPHRASE=${{ secrets.GPG_PASSPHRASE }}" >> $GITHUB_ENV
155-
156-
157141 # sanity checks before the real release
158142 - name : JReleaser dry run checks
159- run : ./gradlew --no-daemon jreleaserConfig jreleaserAssemble jreleaserChangelog -Prelease.mode=${{ steps.release-context.outputs.release_type }}
143+ run : |
144+ if [[ "${{ steps.release-context.outputs.release_type }}" == "snapshot" ]]; then
145+ echo "🧪 JReleaser dry run (snapshot, signing disabled)"
146+ ./gradlew --no-daemon jreleaserConfig jreleaserAssemble jreleaserChangelog \
147+ -Prelease.mode=snapshot \
148+ -Pjreleaser.signing.active=NEVER
149+ else
150+ echo "🧪 JReleaser dry run (release)"
151+ ./gradlew --no-daemon jreleaserConfig jreleaserAssemble jreleaserChangelog \
152+ -Prelease.mode=release
153+ fi
160154
161155 # Deploy to Maven Central (Publisher API) and create GitHub Release
162156 - name : JReleaser Configuration
163157 run : |
164158 if [[ "${{ steps.version.outputs.is_snapshot }}" == "true" ]]; then
165- echo "📦 Publishing snapshot to Maven Central staging"
166- ./gradlew --no-daemon jreleaserDeploy -Prelease.mode=snapshot
159+ echo "📦 Publishing snapshot to Maven Central staging (signing disabled)"
160+ ./gradlew --no-daemon jreleaserDeploy \
161+ -Prelease.mode=snapshot \
162+ -Pjreleaser.signing.active=NEVER
167163 else
168164 echo "🎉 Full release to Maven Central and GitHub"
169165 ./gradlew --no-daemon jreleaserFullRelease -Prelease.mode=release
0 commit comments