77 # Sequence of patterns matched against refs/tags
88 # tags:
99 # - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
10- env :
11- OSS_USERNAME : ${{ secrets.OSS_USERNAME }}
12- OSS_PASSWORD : ${{ secrets.OSS_PASSWORD }}
13- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
1410jobs :
15- publish :
11+ build :
12+ name : Build
1613 runs-on : ubuntu-latest
1714 steps :
18- - uses : actions/checkout@v4
19- - name : Set up Java for publishing to Maven Central Repository
20- uses : actions/setup-java@v4
15+ - uses : actions/checkout@v3
2116 with :
22- java-version : ' 8'
17+ fetch-depth : 0
18+ - name : Set up JDK 8
19+ uses : actions/setup-java@v3
20+ with :
21+ java-version : 8
22+ distribution : ' temurin'
23+ - name : Cache Maven packages
24+ uses : actions/cache@v3
25+ with :
26+ path : ~/.m2
27+ key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
28+ restore-keys : ${{ runner.os }}-m2
29+ - name : Build
30+ run : mvn clean verify
31+
32+ test :
33+ name : Test
34+ needs : build
35+ runs-on : ubuntu-latest
36+ steps :
37+ - uses : actions/checkout@v3
38+ with :
39+ fetch-depth : 0
40+ - name : Set up JDK 8
41+ uses : actions/setup-java@v3
42+ with :
43+ java-version : 8
44+ distribution : ' temurin'
45+ - name : Cache Maven packages
46+ uses : actions/cache@v3
47+ with :
48+ path : ~/.m2
49+ key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
50+ restore-keys : ${{ runner.os }}-m2
51+ - name : Build
52+ run : mvn clean package install -DskipTests=true
53+ - name : Build, test
54+ run : mvn -B test
55+
56+ publish-OSSRH :
57+ runs-on : ubuntu-latest
58+ name : Publish to Maven Central
59+ needs : test
60+ permissions :
61+ contents : read
62+ packages : write
63+ steps :
64+ - uses : actions/checkout@v3
65+ with :
66+ fetch-depth : 0
67+
68+ - id : install-secret-key
69+ name : Install gpg secret key
70+ run : |
71+ cat <(echo -e "${{ secrets.ORG_GPG_PRIVATE_KEY }}") | gpg --batch --import
72+ gpg --list-secret-keys --keyid-format LONG
73+
74+ - name : Set up Maven Central Repository
75+ uses : actions/setup-java@v3
76+ with :
77+ java-version : 8
2378 distribution : ' temurin'
24- cache : ' maven'
2579 server-id : central
2680 server-username : MAVEN_USERNAME
2781 server-password : MAVEN_PASSWORD
28- - name : Make a release
29- run : mvn -Pdeploy --no-transfer-progress --batch-mode clean deploy
82+
83+ - name : Publish package
84+ run : mvn -DskipTests=true --batch-mode -P ossrh-publish -Dgpg.passphrase=${{ secrets.ORG_GPG_PASSPHRASE }} deploy
3085 env :
3186 MAVEN_USERNAME : ${{ secrets.CENTRAL_SONATYPE_TOKEN_USERNAME }}
32- MAVEN_PASSWORD : ${{ secrets.CENTRAL_SONATYPE_TOKEN_PASSWORD }}
33- MAVEN_GPG_PASSPHRASE : ${{ secrets.ORG_GPG_PASSPHRASE }}
34- MAVEN_GPG_KEY : ${{ secrets.ORG_GPG_PRIVATE_KEY }}
87+ MAVEN_PASSWORD : ${{ secrets.CENTRAL_SONATYPE_TOKEN_PASSWORD }}
0 commit comments