11name : Release
22
3- env :
4- MAVEN_GPG_PRIVATE_KEY : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
5- MAVEN_USERNAME : ${{ secrets.MAVEN_USERNAME }}
6- MAVEN_PASSWORD : ${{ secrets.MAVEN_PASSWORD }}
7- MAVEN_GPG_PASSPHRASE : ${{ secrets.MAVEN_GPG_PASSPHRASE }}
8-
93on :
104 release :
115 types : [ published ]
@@ -16,20 +10,57 @@ jobs:
1610 runs-on : ubuntu-latest
1711
1812 steps :
19- - uses : actions/checkout@v2
13+ - uses : actions/checkout@v3
14+
15+ - name : Import GPG key
16+ run : |
17+ echo "${{ secrets.MAVEN_GPG_PRIVATE_KEY }}" | gpg --batch --import
18+ echo 'pinentry-mode loopback' >> ~/.gnupg/gpg.conf
19+
20+ - name : Install xmllint
21+ run : sudo apt-get update && sudo apt-get install -y libxml2-utils
22+
23+ - name : Extract version from pom.xml
24+ id : get_version
25+ run : |
26+ version=$(xmllint --xpath "/*[local-name()='project']/*[local-name()='version']/text()" auto-generated-sdk/pom.xml)
27+ echo "version=$version" >> $GITHUB_OUTPUT
28+ if [[ "$version" == *SNAPSHOT* ]]; then
29+ echo "is_snapshot=true" >> $GITHUB_OUTPUT
30+ else
31+ echo "is_snapshot=false" >> $GITHUB_OUTPUT
32+ fi
33+
34+ - name : Set up JDK for snapshot repository
35+ if : steps.get_version.outputs.is_snapshot == 'true'
36+ uses : actions/setup-java@v4
37+ with :
38+ java-version : ' 8'
39+ distribution : ' temurin'
40+ server-id : central-portal-snapshots
41+ server-username : MAVEN_PORTAL_USERNAME
42+ server-password : MAVEN_CENTRAL_TOKEN
43+ gpg-private-key : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
44+ gpg-passphrase : MAVEN_GPG_PASSPHRASE
2045
21- - name : Set up JDK
22- uses : actions/setup-java@v1
46+ - name : Set up JDK for release repository
47+ if : steps.get_version.outputs.is_snapshot == 'false'
48+ uses : actions/setup-java@v4
2349 with :
24- java-version : 1.8
25- server-id : ossrh
26- server-username : MAVEN_USERNAME
27- server-password : MAVEN_PASSWORD
28- gpg-private-key : ${{ env.MAVEN_GPG_PRIVATE_KEY }}
50+ java-version : ' 8'
51+ distribution : ' temurin'
52+ server-id : central
53+ server-username : MAVEN_PORTAL_USERNAME
54+ server-password : MAVEN_CENTRAL_TOKEN
55+ gpg-private-key : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
2956 gpg-passphrase : MAVEN_GPG_PASSPHRASE
30-
31- - name : Build
32- run : mvn -B package --file auto-generated-sdk/pom.xml
33-
57+
58+ - name : Build with Maven
59+ run : mvn -B package --file auto-generated-sdk/pom.xml
60+
3461 - name : Publish to Apache Maven Central
3562 run : cd auto-generated-sdk && mvn -Psign-artifacts verify deploy
63+ env :
64+ MAVEN_PORTAL_USERNAME : ${{ secrets.MAVEN_CENTRAL_USERNAME }}
65+ MAVEN_CENTRAL_TOKEN : ${{ secrets.MAVEN_CENTRAL_TOKEN }}
66+ MAVEN_GPG_PASSPHRASE : ${{ secrets.MAVEN_GPG_PASSPHRASE }}
0 commit comments