Skip to content

Commit f2b6889

Browse files
committed
use gpg key for signing
1 parent be278e8 commit f2b6889

File tree

4 files changed

+95
-1
lines changed

4 files changed

+95
-1
lines changed

.github/workflows/release.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,24 @@ jobs:
1818
- uses: actions/setup-go@v5
1919
with:
2020
go-version: '1.22'
21+
- name: Import GPG private key (for checksum signing)
22+
if: ${{ secrets.GPG_PRIVATE_KEY != '' }}
23+
env:
24+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
25+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
26+
run: |
27+
mkdir -p ~/.gnupg
28+
chmod 700 ~/.gnupg
29+
echo "Importing GPG key"
30+
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
31+
# If the key has a passphrase, enable loopback so non-interactive signing can work
32+
if [ -n "$GPG_PASSPHRASE" ]; then
33+
echo 'pinentry-mode loopback' >> ~/.gnupg/gpg.conf
34+
echo 'allow-loopback-pinentry' >> ~/.gnupg/gpg-agent.conf
35+
gpg-connect-agent reloadagent /bye
36+
fi
37+
echo "GPG keys:"
38+
gpg --list-secret-keys --keyid-format LONG
2139
- name: Build
2240
run: go build ./...
2341
- name: GoReleaser
@@ -27,4 +45,6 @@ jobs:
2745
args: release --clean
2846
env:
2947
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30-
48+
# If your key has a passphrase, gpg will read it via loopback pinentry
49+
# GPG_TTY helps avoid certain agent warnings
50+
GPG_TTY: ${{ runner.env.SSH_AUTH_SOCK }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ bin/
44
.terraform.lock.hcl
55
*.tfstate*
66
**/.DS_Store
7+
.gpg/private_gpg_key.asc

.gpg/gpg-batch.cfg

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Key-Type: RSA
2+
Key-Length: 4096
3+
Subkey-Type: RSA
4+
Subkey-Length: 4096
5+
Name-Real: DocSpring Terraform Provider
6+
Name-Email: [email protected]
7+
Expire-Date: 1y
8+
%no-protection
9+
%commit

.gpg/public_gpg_key.asc

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
62+
N941ZapemsmbJbrR5HdZtZo9iU3xNGeapEmMFQ==
63+
=pDs7
64+
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)