|
1 | 1 | name: Maven Publish manually |
2 | | -on: workflow_dispatch |
| 2 | + |
| 3 | +on: |
| 4 | + workflow_dispatch: |
| 5 | + |
| 6 | +permissions: |
| 7 | + contents: write |
3 | 8 |
|
4 | 9 | jobs: |
5 | | - publish: |
| 10 | + publish-artifact: |
6 | 11 | runs-on: ubuntu-latest |
| 12 | + name: Publish artifact via Central Portal |
7 | 13 | steps: |
8 | | - - uses: actions/checkout@v4 |
| 14 | + - name: Checkout repository |
| 15 | + uses: actions/checkout@v4 |
9 | 16 | with: |
10 | 17 | fetch-depth: 0 |
11 | | - - name: Set up Maven Central Repository |
| 18 | + ref: ${{ github.ref_name }} |
| 19 | + - name: Set up JDK 17 |
12 | 20 | uses: actions/setup-java@v4 |
13 | 21 | with: |
14 | 22 | java-version: '17' |
15 | | - distribution: 'temurin' |
16 | | - cache: 'maven' |
17 | | - server-id: ossrh |
18 | | - server-username: OSSRH_USERNAME |
19 | | - server-password: OSSRH_TOKEN |
20 | | - |
21 | | - - name: Verify package |
22 | | - run: mvn --batch-mode verify |
23 | | - |
24 | | - - name: Decode and import GPG key to temp keyring |
25 | | - run: | |
26 | | - echo "$MAVEN_GPG_KEY" > private.key |
27 | | - gpg --batch --import private.key |
28 | | - KEY_ID=$(gpg --list-keys --with-colons | grep '^pub' | cut -d: -f5) |
29 | | - echo "KEY_ID=$KEY_ID" >> $GITHUB_ENV |
| 23 | + distribution: 'liberica' |
| 24 | + java-package: jdk+fx # optional (jdk, jre, jdk+fx or jre+fx) - defaults to jdk |
| 25 | + cache: maven |
| 26 | + server-id: central |
| 27 | + server-username: MAVEN_USERNAME # env variable for username in deploy |
| 28 | + server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy |
| 29 | + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import |
| 30 | + gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase |
| 31 | + - name: Publish artifact |
| 32 | + run: mvn -B clean deploy -P release |
30 | 33 | env: |
31 | | - MAVEN_GPG_KEY: ${{ secrets.MAVEN_GPG_KEY }} |
| 34 | + MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} |
| 35 | + MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} |
| 36 | + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} |
32 | 37 |
|
33 | | - - name: Configure GPG |
34 | | - run: | |
35 | | - mkdir -p ~/.gnupg |
36 | | - echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf |
37 | | - echo "use-agent" >> ~/.gnupg/gpg.conf |
38 | | - echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf |
39 | | - echo RELOADAGENT | gpg-connect-agent |
40 | | -
|
41 | | - - name: Deploy with Maven |
42 | | - run: mvn --batch-mode deploy -DskipTests=true -P release -Dgpg.passphrase="${{ secrets.MAVEN_GPG_PASSPHRASE }}" |
43 | | - env: |
44 | | - OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} |
45 | | - OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} |
0 commit comments