Skip to content

Commit 57c5639

Browse files
committed
#initial-commit
1 parent 27b1b9b commit 57c5639

File tree

2 files changed

+36
-57
lines changed

2 files changed

+36
-57
lines changed

.github/workflows/maven-publish.yml

Lines changed: 24 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,55 +5,30 @@ on:
55
types: [created]
66

77
jobs:
8-
publish:
8+
build:
99
runs-on: ubuntu-latest
1010

1111
steps:
12-
- name: Checkout source code
13-
uses: actions/checkout@v4
14-
15-
- name: Set up Java
16-
uses: actions/setup-java@v4
17-
with:
18-
distribution: 'temurin'
19-
java-version: '17'
20-
server-id: central
21-
server-username: MAVEN_CENTRAL_USERNAME
22-
server-password: MAVEN_CENTRAL_TOKEN
23-
java-package: jdk
24-
check-latest: false
25-
overwrite-settings: true
26-
27-
- name: Clean GPG keyring
28-
run: |
29-
rm -rf ~/.gnupg
30-
31-
- name: Import GPG key
32-
run: |
33-
echo "$GPG_PRIVATE_KEY" | gpg --batch --yes --import
34-
gpg --list-keys
35-
env:
36-
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
37-
38-
- name: Set GPG passphrase
39-
run: echo "MAVEN_GPG_PASSPHRASE=${{ secrets.GPG_PASSPHRASE }}" >> $GITHUB_ENV
40-
41-
- name: Set Default GPG Key
42-
run: |
43-
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
44-
gpg --default-key "$GPG_KEYNAME" --list-secret-keys
45-
env:
46-
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
47-
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
48-
49-
- name: Set version
50-
run: mvn versions:set -DnewVersion=${{ github.event.release.tag_name }}
51-
52-
- name: Publish to Maven Central
53-
run: mvn --batch-mode deploy -P release -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} -Dgpg.keyname=${{ secrets.GPG_KEYNAME }}
54-
env:
55-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
56-
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
57-
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
58-
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
59-
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
12+
- uses: actions/checkout@v3
13+
14+
- name: Import GPG key
15+
run: |
16+
echo "$GPG_PRIVATE_KEY" | base64 --decode | gpg --batch --yes --import
17+
env:
18+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
19+
20+
- name: Set up gpg-agent
21+
run: |
22+
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
23+
echo RELOADAGENT | gpg-connect-agent
24+
echo -e "pinentry-mode loopback\n" >> ~/.gnupg/gpg.conf
25+
26+
- name: Build with Maven
27+
run: |
28+
mvn clean deploy -Dgpg.passphrase=$GPG_PASSPHRASE \
29+
-Dgpg.keyname=$GPG_KEY_ID \
30+
-Dgpg.executable=gpg \
31+
-Dgpg.pinentry.mode=loopback
32+
env:
33+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
34+
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}

pom.xml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -143,16 +143,20 @@
143143
<goals>
144144
<goal>sign</goal>
145145
</goals>
146-
<configuration>
147-
<gpgArguments>
148-
<arg>--batch</arg>
149-
<arg>--yes</arg>
150-
<arg>--pinentry-mode</arg>
151-
<arg>loopback</arg>
152-
</gpgArguments>
153-
</configuration>
154146
</execution>
155147
</executions>
148+
<configuration>
149+
<gpgArguments>
150+
<arg>--batch</arg>
151+
<arg>--yes</arg>
152+
<arg>--pinentry-mode</arg>
153+
<arg>loopback</arg>
154+
</gpgArguments>
155+
<useAgent>false</useAgent>
156+
<defaultKeyring>false</defaultKeyring>
157+
<keyname>${env.GPG_KEY_ID}</keyname>
158+
<passphrase>${env.GPG_PASSPHRASE}</passphrase>
159+
</configuration>
156160
</plugin>
157161
<plugin>
158162
<groupId>org.sonatype.central</groupId>

0 commit comments

Comments
 (0)