Skip to content

Commit b0a48af

Browse files
authored
build(Publish): Use .gpg key for signing and publishing (#683)
Fixing publish workflow. These are the same modifications made in the KTX and AMU repos and verified that it is working. Fixes: 680
1 parent 85dc8af commit b0a48af

3 files changed

Lines changed: 28 additions & 17 deletions

File tree

.github/workflows/publish.yml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,28 @@ on:
2323
types: [publish]
2424

2525
jobs:
26-
release:
26+
publish:
2727
runs-on: ubuntu-latest
2828

2929
steps:
3030
- name: Checkout
3131
uses: actions/checkout@v2
3232

33-
- name: Publish build
34-
run: ./gradlew build publish --warn --stacktrace
33+
- name: Build and Publish
34+
run: |
35+
echo "Create .gpg key"
36+
echo $GPG_KEY_ARMOR | base64 --decode > ./release.asc
37+
gpg --quiet --output $GITHUB_WORKSPACE/release.gpg --dearmor ./release.asc
38+
39+
sed -i -e "s,sonatypeUsername=,sonatypeUsername=$SONATYPE_USERNAME,g" gradle.properties
40+
sed -i -e "s,sonatypePassword=,sonatypePassword=$SONATYPE_PASSWORD,g" gradle.properties
41+
sed -i -e "s,signing.keyId=,signing.keyId=$GPG_KEY_ID,g" gradle.properties
42+
sed -i -e "s,signing.password=,signing.password=$GPG_PASSWORD,g" gradle.properties
43+
sed -i -e "s,signing.secretKeyRingFile=,signing.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg,g" gradle.properties
44+
./gradlew build publish --warn --stacktrace
45+
env:
46+
GPG_KEY_ARMOR: "${{ secrets.SYNCED_GPG_KEY_ARMOR }}"
47+
GPG_KEY_ID: ${{ secrets.SYNCED_GPG_KEY_ID }}
48+
GPG_PASSWORD: ${{ secrets.SYNCED_GPG_KEY_PASSWORD }}
49+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
50+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}

build.gradle

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jacocoTestReport {
111111

112112
publishing {
113113
publications {
114-
maven(MavenPublication) {
114+
MapsJavaUtils(MavenPublication) {
115115
pom {
116116
name = 'Java Client for Google Maps Platform Web Services'
117117
description = 'Use the Google Maps Platform Web Services in Java! ' +
@@ -176,24 +176,19 @@ publishing {
176176
nexusPublishing {
177177
repositories {
178178
sonatype {
179-
username = System.getenv('SYNCED_SONATYPE_USERNAME')
180-
password = System.getenv('SYNCED_SONATYPE_PASSWORD')
179+
username = sonatypeUsername
180+
password = sonatypePassword
181181
clientTimeout = Duration.ofSeconds(120)
182182
}
183183
}
184184
}
185185

186186
nexusStaging {
187-
username System.getenv('SYNCED_SONATYPE_USERNAME')
188-
password System.getenv('SYNCED_SONATYPE_PASSWORD')
187+
username = sonatypeUsername
188+
password = sonatypePassword
189189
packageGroup = "com.google.maps"
190190
}
191191

192192
signing {
193-
useInMemoryPgpKeys(
194-
System.getenv('SYNCED_GPG_KEY_ID'),
195-
System.getenv('SYNCED_GPG_KEY_ARMOR'),
196-
System.getenv('SYNCED_GPG_KEY_PASSWORD')
197-
)
198-
sign publishing.publications.maven
193+
sign publishing.publications.MapsJavaUtils
199194
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Apr 24 10:24:47 PDT 2020
2-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
1+
#Mon Sep 21 20:20:36 EST 2015
32
distributionBase=GRADLE_USER_HOME
43
distributionPath=wrapper/dists
5-
zipStorePath=wrapper/dists
64
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

0 commit comments

Comments
 (0)