Skip to content

Update release process and add verification guide

Marcin Jachymiak requested to merge 2020-01-release-script-update into master

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
Edited by Marcin Jachymiak

Merge request reports