Skip to content

Commit 2cb8d62

Browse files
authoredJul 10, 2024··
ci: sign releases and add verification instructions (#192)
1 parent e5b3882 commit 2cb8d62

File tree

3 files changed

+132
-3
lines changed

3 files changed

+132
-3
lines changed
 

‎.github/workflows/release.yml

+39-1
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,43 @@ jobs:
3636
- name: Release
3737
uses: softprops/action-gh-release@v2
3838
with:
39-
files: bin/*.zip
39+
files: |
40+
boltz-client-*.tar.gz
41+
boltz-client-manifest-*.txt
4042
draft: true
43+
body: |
44+
# Verifying the Release
45+
46+
In order to verify the release, you'll need to have `gpg` or `gpg2` installed on your system. You'll first need to import the keys that have signed this release if you haven't done so already:
47+
48+
```
49+
curl https://raw.githubusercontent.com/BoltzExchange/boltz-client/master/keys/michael.asc | gpg --import
50+
```
51+
52+
Once you have the required PGP keys, you can verify the release (assuming `boltz-client-manifest-${{ env.RELEASE_VERSION }}.sig` and `boltz-client-manifest-${{ env.RELEASE_VERSION }}.txt` are in the current directory) with:
53+
54+
```
55+
gpg --verify boltz-client-manifest-${{ env.RELEASE_VERSION }}.sig boltz-client-manifest-${{ env.RELEASE_VERSION }}.txt
56+
```
57+
58+
You should see the following if the verification was successful:
59+
60+
```
61+
gpg: Signature made Mo 01 Jul 2024 00:40:51 CEST
62+
gpg: using RSA key C2640F630570F5EDEDE02DE684D249BA71685D46
63+
gpg: Good signature from "Michael <me@michael1011.at>" [unknown]
64+
gpg: aka "Michael <michael101101@me.com>" [unknown]
65+
```
66+
67+
You should also verify that the hashes still match with the archive you've downloaded.
68+
69+
```
70+
sha256sum --ignore-missing -c boltz-client-manifest-${{ env.RELEASE_VERSION }}.txt
71+
```
72+
73+
If your archive is valid, you should see the following output (depending on the archive you've downloaded):
74+
75+
```
76+
boltz-client-linux-amd64-${{ env.RELEASE_VERSION }}.tar.gz: OK
77+
```
78+

‎Makefile

+3-2
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ docker:
125125
binaries:
126126
@$(call print, "Building binaries")
127127
docker buildx build --output bin --platform $(PLATFORMS) --target binaries .
128-
tar -czvf bin/boltz-client-linux-amd64.tar.gz bin/linux_amd64
129-
tar -czvf bin/boltz-client-linux-arm64.tar.gz bin/linux_arm64
128+
tar -czvf boltz-client-linux-amd64-v$(VERSION).tar.gz bin/linux_amd64
129+
tar -czvf boltz-client-linux-arm64-v$(VERSION).tar.gz bin/linux_arm64
130+
sha256sum boltz-client-*.tar.gz bin/**/* > boltz-client-manifest-v$(VERSION).txt
130131

131132
.PHONY: build binaries

‎keys/michael.asc

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
88+
ikvlnCs353I=
89+
=RzTC
90+
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)
Please sign in to comment.