Commit Graph

33 Commits

Author SHA1 Message Date
591954ff61 scripts: detect whether sha256sum or shasum is available
The shasum command isn't available in Alpine linux while the sha256sum
command isn't available on MacOS. We add a simple switch that tries to
detect which one is available.
2021-02-17 18:11:42 +01:00
95eadfee2f scripts/verify-install.sh: combine final SUCCESS logs 2021-02-15 10:00:42 -08:00
c03f95a63b scripts/verify-install: bump min required signatures to 5 2021-02-15 09:59:59 -08:00
85c42b0b79 scripts: add more verbose error messages to verification
We want to be more precise in what exactly went wrong and what the cause
could be.
2021-02-15 10:47:46 +01:00
99ba272822 docs+scripts: switch to detached signatures
Due to a misunderstanding of how the gpg command line options work, we
didn't actually create detached signatures because the --clear-sign
flag would overwrite that. We update our verification script to now only
download the detached signatures and verify them against the main
manifest file.
We also update the signing instructions.
2021-02-15 10:33:20 +01:00
132d23c964 scripts: verify hash length
To make sure we've actually calculated the hash correctly, we make sure
it's 64 characters long.
2021-02-15 10:26:17 +01:00
644424296b scripts: use shasum instead of sha256sum
Because the sha256sum binary isn't available on MacOS we instead use the
shasum -a 256 command that was used before.
2021-02-15 10:26:15 +01:00
aca93199cf scripts: allow verification of custom binary
Instead of only allowing the installed versions of lnd and lncli to be
verified, we now also support specifying explicit paths to binaries that
we want to verify.
2021-02-12 13:22:13 +01:00
315f97ffd5 Merge pull request #4911 from guggero/docker-rpc-compile
lnrpc+mobile: use docker to compile/format protos
2021-02-01 13:42:42 +01:00
688a8045f0 Merge pull request #4963 from guggero/verify-no-key-fix
scripts: don't fail signature verification on missing public key
2021-01-28 14:52:22 +01:00
9c6e208797 multi: remove proto install script 2021-01-28 10:29:01 +01:00
734441d6c0 scripts: don't fail on missing public key
When verifying the release signatures, we don't want to fail if a
signer's signature is not available in the gpg key ring. Instead we just
don't want to count the signature for now and still succeed if there's
at least one other good sig with a known key.
2021-01-27 11:12:04 +01:00
991e077bf3 scripts: add halseth key to verify script 2021-01-27 10:43:32 +01:00
97a141e7af docker: add verification script to production image
The verification script makes sure the hashes of the binaries inside of
a docker image match those of an official release.
The script first downloads all signatures, validates them, then compares
the hashes of the installed binaries to those contained in the detached
signature files.
2021-01-14 21:48:32 +01:00
25ac071300 build: add release-install goal, hash individual binaries
We add a new make goal called release-install that creates the same
reproducible binaries as the release script would create, but only for
the current OS/architecture. It then installs those binaries to the
system's GOBIN directory.
To allow easy verification of individual binaries (instead of just the
packag tarballs/zips), we also add the hashes of lnd and lncli binaries
to the manifest. We do the same in the docker build.
2021-01-13 15:36:11 +01:00
2686391c31 scripts: package release artifacts deterministically
A number of tricks need to be applied to the tar and zip commands
respectively to make sure they always produce deterministic archives.
This includes setting the file timestamps to a fixed date and setting
specific ownership attributes (tar) or no attributes at all (zip).
2021-01-08 15:03:20 +01:00
330f3c4dd0 make: use --tags to describe commit 2021-01-08 11:27:46 +01:00
dce4d2abcd build: check compilation of each commit
Inspired by Rust Lightning's GH action :)
2020-12-08 16:19:26 -08:00
b42c5e5fad make+scripts: use pre-compiled btcd in itest
To make sure we build the exact version of btcd that is referenced in
the project's go.mod file and to not overwrite any binary the user might
already have installed on the system, we compile btcd into an explicit
file in the itest directory.
This should also speed up invocations of "make itest-only" because the
test harness doesn't always compile btcd on its own.

We also fix a bug with the version parsing where adding a "replace"
directive in the go.mod would result in the awk commands to extract the
wrong version. Because we no longer use the DEPGET goal to build and
install btcd, using a replace directive now actually works for itests.
2020-12-03 23:23:49 +01:00
8fea653c61 release: skip version check in automated builds 2020-11-19 12:35:58 +01:00
d4068e9892 travis+make: execute test groups in parallel 2020-11-04 11:03:33 +01:00
5189cb799a make: add fuzz-build and fuzz commands 2020-10-09 09:53:55 +02:00
785e797ef8 scripts: install bitcoind binary from docker image
Because the bitcoind mirror is extremely slow, we spend at least 2 to 3
minutes of each bitcoind related test on just downloading the binary. We
can achieve the same result by just pulling the docker image and
extracting the binary from that.
2020-10-08 21:29:51 +02:00
6e8021f858 scripts: bump bitcoind version to 0.20 2020-06-12 10:46:20 -07:00
3ef41dd198 lnrpc: update grpc-gateway to v1.14.3 2020-06-04 08:43:49 +02:00
caf4cb16c4 build+make: move release script
Because this script is now run from the main Makefile, it is more
suitable to be located in the main scripts folder where the other
build related scripts reside.
2020-04-24 14:29:06 +02:00
4b8d0d913a build: bump travis bitcoind version to v0.19.1 2020-03-13 11:03:00 -07:00
7a1013fb9e make+travis: verify compiled protos on travis 2020-03-10 13:03:01 +01:00
44fa28b27b build: bump travis bitcoind version to 0.19.0.1 2019-11-25 10:59:00 -08:00
45114cb819 build: bump to bitcoind 0.18.1 for itests 2019-10-01 16:29:55 -07:00
0c762af263 scripts: update bitcoind version to 0.18 2019-05-23 18:08:58 -07:00
b34150144d scripts/install_bitcoind: fix initial install 2019-05-22 19:21:24 -07:00
98f8696e68 travis: install bitcoind 0.17.1 binaries 2019-05-22 16:35:46 -07:00