Skip to content

Commit 5de68f5

Browse files
authored
fix: decode base64 PGP key before signing (KOJAK-35) (#19)
## Summary - SML org-level `PGP_SECRET` is base64-encoded (sbt ci-release convention) - vanniktech expects raw ASCII-armored key - Added decode step in publish job before `publishAndReleaseToMavenCentral` - Key decoded in memory, written to `$GITHUB_ENV`, temp file removed ## Context v0.1.0 tag CI failed with: `secret key ring doesn't start with secret key tag: tag 0xffffffff` ## Test plan - [ ] CI passes on this PR - [ ] After merge: tag v0.1.1, verify publish job succeeds
1 parent 7c65fde commit 5de68f5

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,21 @@ jobs:
113113
- name: Setup Gradle
114114
uses: gradle/actions/setup-gradle@39e147cb9de83bb9910b8ef8bd7fff0ee20fcd6f # v6.0.1
115115

116+
- name: Decode PGP key
117+
run: |
118+
echo "$PGP_SECRET_BASE64" | base64 -d > /tmp/secring.asc
119+
echo "ORG_GRADLE_PROJECT_signingInMemoryKey<<EOF" >> $GITHUB_ENV
120+
cat /tmp/secring.asc >> $GITHUB_ENV
121+
echo "EOF" >> $GITHUB_ENV
122+
rm /tmp/secring.asc
123+
env:
124+
PGP_SECRET_BASE64: ${{ secrets.PGP_SECRET }}
125+
116126
- name: Publish to Maven Central
117127
run: ./gradlew publishAndReleaseToMavenCentral
118128
env:
119129
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }}
120130
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }}
121-
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.PGP_SECRET }}
122131
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.PGP_PASSPHRASE }}
123132

124133
- name: Extract version from tag

0 commit comments

Comments
 (0)