@@ -52,16 +52,18 @@ jobs:
52
52
secret-presence :
53
53
runs-on : ubuntu-latest
54
54
outputs :
55
- GPG_PRIVATE_KEY : ${{ steps.secret-presence.outputs.GPG_PRIVATE_KEY }}
56
- GPG_PASSPHRASE : ${{ steps.secret-presence.outputs.GPG_PASSPHRASE }}
57
55
DOCKER_HUB_TOKEN : ${{ steps.secret-presence.outputs.DOCKER_HUB_TOKEN }}
56
+ HAS_OSSRH : ${{ steps.secret-presence.outputs.HAS_OSSRH }}
58
57
steps :
59
58
- name : Check whether secrets exist
60
59
id : secret-presence
61
60
run : |
62
- [ ! -z "${{ secrets.GPG_PRIVATE_KEY }}" ] && echo "GPG_PRIVATE_KEY=true" >> $GITHUB_OUTPUT
63
- [ ! -z "${{ secrets.GPG_PASSPHRASE }}" ] && echo "GPG_PASSPHRASE=true" >> $GITHUB_OUTPUT
64
61
[ ! -z "${{ secrets.DOCKER_HUB_TOKEN }}" ] && echo "DOCKER_HUB_TOKEN=true" >> $GITHUB_OUTPUT
62
+ [ ! -z "${{ secrets.ORG_GPG_PASSPHRASE }}" ] &&
63
+ [ ! -z "${{ secrets.ORG_GPG_PRIVATE_KEY }}" ] &&
64
+ [ ! -z "${{ secrets.ORG_OSSRH_USERNAME }}" ] &&
65
+ [ ! -z "${{ secrets.ORG_OSSRH_PASSWORD }}" ] &&
66
+ echo "HAS_OSSRH=true" >> $GITHUB_OUTPUT
65
67
exit 0
66
68
67
69
build-extensions :
@@ -107,7 +109,7 @@ jobs:
107
109
docker_user : ${{ secrets.DOCKER_HUB_USER }}
108
110
docker_token : ${{ secrets.DOCKER_HUB_TOKEN }}
109
111
110
- publish-to-github-packages :
112
+ publish-to-maven-central :
111
113
runs-on : ubuntu-latest
112
114
permissions :
113
115
contents : read
@@ -116,24 +118,38 @@ jobs:
116
118
117
119
# do not run on PR branches, do not run on releases
118
120
if : |
119
- needs.secret-presence.outputs.GPG_PASSPHRASE && needs.secret-presence.outputs.GPG_PRIVATE_KEY && github.event_name != 'pull_request' && github.ref != 'refs/heads/releases'
121
+ needs.secret-presence.outputs.HAS_OSSRH && github.event_name != 'pull_request' && github.ref != 'refs/heads/releases'
120
122
steps :
123
+ # Import GPG signing key
124
+ - name : Import GPG Key
125
+ uses : crazy-max/ghaction-import-gpg@v5
126
+ with :
127
+ gpg_private_key : ${{ secrets.ORG_GPG_PRIVATE_KEY }}
128
+ passphrase : ${{ secrets.ORG_GPG_PASSPHRASE }}
129
+ fingerprint : " 9E3592C7C0C7E0EC292174A75A9E2D4D4778414E"
130
+
131
+ - name : List Keys
132
+ run : |
133
+ gpg -K --keyid-format=long
134
+
121
135
# Set-Up
122
136
- uses : actions/checkout@v3.5.2
123
137
124
138
- uses : ./.github/actions/setup-java
125
- - name : Import GPG Key
126
- uses : crazy-max/ghaction-import-gpg@v5
127
- with :
128
- gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
129
- passphrase : ${{ secrets.GPG_PASSPHRASE }}
130
139
131
- # publish snapshots
140
+ # publish snapshots or releases
132
141
- name : Publish snapshot versions
133
- run : |-
134
- echo "Publishing Version $(grep -e "version" gradle.properties | cut -f2 -d"=") to Github Packages"
135
- ./gradlew publishAllPublicationsToGitHubPackagesRepository
136
142
env :
137
- REPO : ${{ github.repository }}
138
- GITHUB_PACKAGE_USERNAME : ${{ github.actor }}
139
- GITHUB_PACKAGE_PASSWORD : ${{ secrets.GITHUB_TOKEN }}
143
+ OSSRH_PASSWORD : ${{ secrets.ORG_OSSRH_PASSWORD }}
144
+ OSSRH_USER : ${{ secrets.ORG_OSSRH_USERNAME }}
145
+ run : |-
146
+ VERSION=$(gradle properties -q | grep "version:" | awk '{print $2}')
147
+ cmd=""
148
+ if [[ $VERSION != *-SNAPSHOT ]]
149
+ then
150
+ cmd="closeAndReleaseSonatypeStagingRepository";
151
+ fi
152
+ echo "Publishing Version $VERSION to Github Packages"
153
+ ./gradlew publishToSonatype ${cmd} --no-parallel -Pversion=$VERSION
154
+
155
+
0 commit comments