Skip to content

Commit 673e94c

Browse files
feat(build): publish to OSSRH Snapshots and MavenCentral (eclipse-tractusx#319)
1 parent e38b8b6 commit 673e94c

File tree

2 files changed

+48
-26
lines changed

2 files changed

+48
-26
lines changed

.github/workflows/build.yaml

+34-18
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,18 @@ jobs:
5252
secret-presence:
5353
runs-on: ubuntu-latest
5454
outputs:
55-
GPG_PRIVATE_KEY: ${{ steps.secret-presence.outputs.GPG_PRIVATE_KEY }}
56-
GPG_PASSPHRASE: ${{ steps.secret-presence.outputs.GPG_PASSPHRASE }}
5755
DOCKER_HUB_TOKEN: ${{ steps.secret-presence.outputs.DOCKER_HUB_TOKEN }}
56+
HAS_OSSRH: ${{ steps.secret-presence.outputs.HAS_OSSRH }}
5857
steps:
5958
- name: Check whether secrets exist
6059
id: secret-presence
6160
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
6461
[ ! -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
6567
exit 0
6668
6769
build-extensions:
@@ -107,7 +109,7 @@ jobs:
107109
docker_user: ${{ secrets.DOCKER_HUB_USER }}
108110
docker_token: ${{ secrets.DOCKER_HUB_TOKEN }}
109111

110-
publish-to-github-packages:
112+
publish-to-maven-central:
111113
runs-on: ubuntu-latest
112114
permissions:
113115
contents: read
@@ -116,24 +118,38 @@ jobs:
116118

117119
# do not run on PR branches, do not run on releases
118120
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'
120122
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+
121135
# Set-Up
122136
- uses: actions/checkout@v3.5.2
123137

124138
- 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 }}
130139

131-
# publish snapshots
140+
# publish snapshots or releases
132141
- name: Publish snapshot versions
133-
run: |-
134-
echo "Publishing Version $(grep -e "version" gradle.properties | cut -f2 -d"=") to Github Packages"
135-
./gradlew publishAllPublicationsToGitHubPackagesRepository
136142
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+

.github/workflows/publish-new-release.yml

+14-8
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,26 @@ jobs:
5858
-
5959
uses: ./.github/actions/setup-java
6060

61+
- uses: ./.github/actions/setup-java
6162
- name: Import GPG Key
6263
uses: crazy-max/ghaction-import-gpg@v5
6364
with:
64-
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
65-
passphrase: ${{ secrets.GPG_PASSPHRASE }}
65+
gpg_private_key: ${{ secrets.ORG_GPG_PRIVATE_KEY }}
66+
passphrase: ${{ secrets.ORG_GPG_PASSPHRASE }}
6667

6768
- name: Publish release version
68-
run: |
69-
echo "Publishing Version $(grep -e "version" gradle.properties | cut -f2 -d"=") to Github Packages"
70-
./gradlew publishAllPublicationsToGithubPackagesRepository
7169
env:
72-
REPO: ${{ github.repository }}
73-
GITHUB_PACKAGE_USERNAME: ${{ github.actor }}
74-
GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
70+
OSSRH_PASSWORD: ${{ secrets.ORG_OSSRH_PASSWORD }}
71+
OSSRH_USER: ${{ secrets.ORG_OSSRH_USERNAME }}
72+
run: |-
73+
VERSION=$(gradle properties -q | grep "version:" | awk '{print $2}')
74+
cmd=""
75+
if [[ $VERSION != *-SNAPSHOT ]]
76+
then
77+
cmd="closeAndReleaseSonatypeStagingRepository";
78+
fi
79+
echo "Publishing Version $VERSION to Github Packages"
80+
./gradlew publishToSonatype ${cmd} --no-parallel -Pversion=$VERSION
7581
7682
docker-release:
7783
name: Publish Docker images

0 commit comments

Comments
 (0)