Update release process and add verification guide
MERGE REQUEST
Overview
Saves old release.sh as nightly-release.sh for use in nightly builds in the future.
The intention is to update nightly-release.sh
when the hardware to run our own Gitlab runners is acquired.
The updated release.sh now does no signing. It hashes each of the binaries and appends the hashes to a single file. Copies of that file are put into each zipped package. Before releasing, a signature of the hash file must be added to each zipped package.
The release script also uses the -trimpath
flag to compile the binaries.
Adds a guide to verifying release binaries in doc/Binary-Verification.md
Example for Visual changes (ie Screenshot)
This is what the file of hashes looks like:
$ cat release/Sia-7.8.9-test-hashes.txt
fe194484496c993be74b16d043fd6e08d742bf50fe5966bd9cd2ace770cc26d3 release/Sia-7.8.9-test-darwin-amd64/siac
f7f9c720c4d7ae87d58d861e1fe04fbb500d9049b07e5d72ca0dc5ccd5fed101 release/Sia-7.8.9-test-darwin-amd64/siad
f1e1911e112de23b80d0de555e64f275034bffef63befef01f39e4574d3208be release/Sia-7.8.9-test-linux-amd64/siac
48ae5ae0dfe11c0943f0ce1989db40affd49df09802198a85bd8f8d85a9f4399 release/Sia-7.8.9-test-linux-amd64/siad
fa613f77e083020eb1c848dd797030dad5524d7b4a07d5d595043b3d7a6eb3c5 release/Sia-7.8.9-test-windows-amd64/siac.exe
4486fb258d67433df93c9b07f147734bdf30a9f416b955130615a6caba7594e7 release/Sia-7.8.9-test-windows-amd64/siad.exe
The trimpath
flag changes stack traces.
Before:
panic: PANIC!!
goroutine 1 [running]:
main.main()
/home/marcin/go/src/gitlab.com/NebulousLabs/Sia/cmd/siad/main.go:140 +0x39
After:
panic: PANIC!!
goroutine 1 [running]:
main.main()
gitlab.com/NebulousLabs/Sia@/cmd/siad/main.go:140 +0x39
Issues Closed
Checklist
Review and complete the checklist to ensure that the MR is complete before assigned to an approver.
-
All new methods, or updating methods have clear docstrings -
Testing added or updated for new methods -
Any new packages are added to Makefile and .gitlab-ci.yml -
API documentation updated for API updates -
Module README.md updated for changes to work flow -
Issue added to Sia-UI repo for new supporting features -
Changelog updated