Skip to content

Commit 4da2e7e

Browse files
committed
Write signing key file & update publish tasks
Adjust CI and Gradle signing to avoid multiline secret issues and switch to new publish tasks. - .github/workflows/deploy.yml: remove GPG import, expose SIGNING_KEY/PASSWORD and MAVEN creds via env, write credentials to ~/.gradle/gradle.properties, write the multiline signing key to /tmp/signing-key.txt and reference it, and change Gradle invocations from :*:publish to :*:publishToCentralPortal for release and snapshot flows. - moss*/build.gradle: change signing logic to treat the signingKey property as a file path, read its contents, and call useInMemoryPgpKeys only when key content is available before signing publications. This prevents problems with multiline secrets in GitHub Actions and ensures Gradle receives an in-memory PGP key correctly while using the updated publishing tasks.
1 parent 44237aa commit 4da2e7e

5 files changed

Lines changed: 34 additions & 20 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,21 @@ jobs:
2323
- name: Setup Gradle
2424
uses: gradle/actions/setup-gradle@v3
2525

26-
- name: Import GPG key
27-
run: |
28-
echo "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --batch --import
29-
3026
- name: Configure Gradle properties
27+
env:
28+
SIGNING_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
29+
SIGNING_PASSWORD: ${{ secrets.GPG_PASSPHRASE }}
30+
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
31+
MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
3132
run: |
3233
mkdir -p ~/.gradle
33-
cat << EOF > ~/.gradle/gradle.properties
34-
mavenCentralUsername=${{ secrets.MAVEN_CENTRAL_USERNAME }}
35-
mavenCentralPassword=${{ secrets.MAVEN_CENTRAL_PASSWORD }}
36-
signing.gnupg.keyName=${{ secrets.GPG_KEY_ID }}
37-
signing.gnupg.passphrase=${{ secrets.GPG_PASSPHRASE }}
38-
EOF
34+
echo "mavenCentralUsername=$MAVEN_USERNAME" >> ~/.gradle/gradle.properties
35+
echo "mavenCentralPassword=$MAVEN_PASSWORD" >> ~/.gradle/gradle.properties
36+
echo "signingPassword=$SIGNING_PASSWORD" >> ~/.gradle/gradle.properties
37+
38+
# Write signing key to a file to avoid multiline issues
39+
echo "$SIGNING_KEY" > /tmp/signing-key.txt
40+
echo "signingKey=/tmp/signing-key.txt" >> ~/.gradle/gradle.properties
3941
4042
- name: Modify version for release
4143
if: github.ref == 'refs/heads/release'
@@ -52,8 +54,8 @@ jobs:
5254

5355
- name: Build and deploy release
5456
if: github.ref == 'refs/heads/release'
55-
run: ./gradlew clean :moss:publish :moss-paper:publish :moss-velocity:publish :moss-bungeecord:publish -PisRelease=true
57+
run: ./gradlew clean :moss:publishToCentralPortal :moss-paper:publishToCentralPortal :moss-velocity:publishToCentralPortal :moss-bungeecord:publishToCentralPortal -PisRelease=true
5658

5759
- name: Build and deploy snapshot
5860
if: github.ref == 'refs/heads/snapshot'
59-
run: ./gradlew clean :moss:publish :moss-paper:publish :moss-velocity:publish :moss-bungeecord:publish -PisRelease=false
61+
run: ./gradlew clean :moss:publishToCentralPortal :moss-paper:publishToCentralPortal :moss-velocity:publishToCentralPortal :moss-bungeecord:publishToCentralPortal -PisRelease=false

moss-bungeecord/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,11 @@ centralPortal {
112112
}
113113

114114
signing {
115-
def signingKey = findProperty("signingKey")
115+
def keyFile = findProperty("signingKey")
116116
def signingPassword = findProperty("signingPassword")
117-
useInMemoryPgpKeys(signingKey, signingPassword)
117+
def keyContent = keyFile ? new File(keyFile).text : null
118+
if (keyContent) {
119+
useInMemoryPgpKeys(keyContent, signingPassword)
120+
}
118121
sign publishing.publications
119122
}

moss-paper/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,11 @@ centralPortal {
109109
}
110110

111111
signing {
112-
def signingKey = findProperty("signingKey")
112+
def keyFile = findProperty("signingKey")
113113
def signingPassword = findProperty("signingPassword")
114-
useInMemoryPgpKeys(signingKey, signingPassword)
114+
def keyContent = keyFile ? new File(keyFile).text : null
115+
if (keyContent) {
116+
useInMemoryPgpKeys(keyContent, signingPassword)
117+
}
115118
sign publishing.publications
116119
}

moss-velocity/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,11 @@ centralPortal {
109109
}
110110

111111
signing {
112-
def signingKey = findProperty("signingKey")
112+
def keyFile = findProperty("signingKey")
113113
def signingPassword = findProperty("signingPassword")
114-
useInMemoryPgpKeys(signingKey, signingPassword)
114+
def keyContent = keyFile ? new File(keyFile).text : null
115+
if (keyContent) {
116+
useInMemoryPgpKeys(keyContent, signingPassword)
117+
}
115118
sign publishing.publications
116119
}

moss/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,11 @@ publishing {
8181
}
8282

8383
signing {
84-
def signingKey = findProperty("signingKey")
84+
def keyFile = findProperty("signingKey")
8585
def signingPassword = findProperty("signingPassword")
86-
useInMemoryPgpKeys(signingKey, signingPassword)
86+
def keyContent = keyFile ? new File(keyFile).text : null
87+
if (keyContent) {
88+
useInMemoryPgpKeys(keyContent, signingPassword)
89+
}
8790
sign publishing.publications
8891
}

0 commit comments

Comments
 (0)