Commit Graph
121 Commits
Author SHA1 Message Date
Conner Fromknecht c9ed5927f6 Merge pull request #5038 from cfromknecht/debug-unit
make: add unit-debug target
2021-02-19 14:01:31 -08:00
Oliver Gugger fdbd4da771 make: use make for docker-release
To fix an issue where the golang version would be picked up from the
host system if the docker-release command was used, we switch over to
using make inside of the container as well instead of feeding the
parameters into the release script manually.
We only pass in the flags that we might actually want to overwrite.
2021-02-17 18:11:42 +01:00
Conner Fromknecht 7f9dcc143f make: add unit-debug target 2021-02-17 08:47:59 -08:00
Oliver Gugger 3ddb92d99b make: clean mobile stubs before building release
To fix an issue where the vendor.tar.gz in a release build had a
different hash if the mobile RPC stubs were in the mobile/ folder, we
clean those out first.

The culprit was the `google.golang.org/grpc/test/bufconn` package which
is currently only used in the mobile RPC stubs and nowhere else.
Therefore the vendor/module.txt was different when vendoring with the
generated mobile RPC stubs being around.
2021-02-05 13:11:35 +01:00
Johan T. Halseth 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
Johan T. Halseth 10a81e01e3 Merge pull request #2162 from halseth/make-goimports
[Makefile] Define `make imports`
2021-01-29 08:54:00 +01:00
Oliver Gugger 3bcfe931f9 make+lnrpc: compile mobile RPC with docker too
Now that we have a base docker image that has all our RPC compilation
dependencies installed, we can also run the mobile RPC compilation
there. This removes the need to install falafel and goimports on the
local machine.
2021-01-28 10:29:02 +01:00
Oliver Gugger e9a0f36786 make+lnrpc: use docker to compile protos
This commit aims to make it easier for developers to compile our
protobuf definitions. They now only need to have docker installed
instead of a whole set of binaries and libraries all pinned to very
specific versions.
2021-01-28 10:27:09 +01:00
Olaoluwa Osuntokun b2857bf392 Merge pull request #4914 from guggero/docker-verification
docker: add verification script
2021-01-18 15:29:15 -08:00
Olaoluwa Osuntokun ff897db293 Merge pull request #4901 from bhandras/etcd_itest_ci
etcd+itests: use itest generated ports for embedded etcd and add etcd itests to travis CI
2021-01-14 17:53:54 -08:00
Oliver Gugger 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
Oliver Gugger 4c56f3cacb multi: add release helper docker file 2021-01-08 16:14:24 +01:00
Andras Banki-Horvath b2ab5e8af1 itests: run etcd itests with generated ports 2021-01-08 15:39:12 +01:00
Oliver Gugger 330f3c4dd0 make: use --tags to describe commit 2021-01-08 11:27:46 +01:00
Johan T. Halseth 892635a93d make: run goimports during make fmt 2020-12-18 09:04:44 +01:00
Johan T. Halseth 6dfefe39ce make: exclude autogenerated files from go fmt 2020-12-18 09:04:44 +01:00
Oliver Gugger 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
Oliver Gugger 8829960b1a make+Travis: use EXEC_SUFFIX for Windows, remove explicit goal
To remove the need to have an extra make goal for the Windows itests, we
instead add the flag windows=1 that sets the make variable EXEC_SUFFIX
to properly add the ".exe" suffix to all executable names.
2020-12-03 23:23:49 +01:00
Oliver Gugger b91b7434f6 make: replace ITEST goal with script
To make the Makefile a bit easier to understand, we remove the implicit
ITEST goal/command variable and switch all itest execution over to
explicit goals in the main Makefile.
2020-12-03 23:23:44 +01:00
Oliver Gugger 47e8882480 make+itest: allow the same test to be run in parallel 2020-11-10 13:57:31 +01:00
Oliver Gugger d4068e9892 travis+make: execute test groups in parallel 2020-11-04 11:03:33 +01:00
carla c92b030652 multi: remove experimential build flag for assumechanvalid 2020-10-21 14:13:50 +02:00
Oliver Gugger ab4f1c3b5a github+make: check all CLI flags are in sample-lnd.conf
We add a GitHub action to our workflow that makes sure all command line
flags of lnd that are available with the default build tags are
contained in the sample-lnd.conf file.
2020-10-16 08:53:16 +02:00
Oliver Gugger 5189cb799a make: add fuzz-build and fuzz commands 2020-10-09 09:53:55 +02:00
Olaoluwa Osuntokun 0f90bb638d build: build and run CI against Go 1.5 2020-10-06 15:30:50 -07:00
Andras Banki-Horvath 357cd7d7a7 make: allow optional extra tags when running unit tests 2020-09-17 14:50:19 +02:00
Oliver Gugger 6115a7b12b make+itest: make itest Windows compatible 2020-08-05 08:53:04 +02:00
Johan T. Halseth 935fa7f12d make+mobile: pass expected falafel version to build script 2020-07-17 08:49:03 +02:00
Johan T. Halseth d41ca81aad make: add goimports dep
Required by mobile bindings generate script.
2020-07-17 08:49:02 +02:00
Johan T. Halseth fd8e6c98b9 make: fetch falafel dependency for mobile-rpc 2020-07-17 08:49:02 +02:00
Johan T. Halseth 7a30332619 mobile: use single "mobile" build tag instead of "ios" and "android"
Since the "android" build tag conflicts with a go compiler build tag, we instead use a single "mobile" tag for both platforms.
2020-07-17 08:49:02 +02:00
nsa 85852733af Makefile: add -w to -ldflags to strip DWARF symbols
Compiling with this flag cuts down on the binary size by several
megabytes.
2020-06-09 14:40:48 -04:00
Oliver Gugger f48b0289f5 make: check that all RPCs are defined in yaml 2020-06-04 08:50:44 +02:00
Conner Fromknecht fcc18b6815 Merge pull request #4221 from guggero/move-release
build: move release script and README to more appropriate locations
2020-05-05 09:33:53 -07:00
Conner Fromknecht 315c56607c Merge pull request #4161 from joostjager/itest-err-guard
itest: check for new errors in logs
2020-05-04 10:15:49 -07:00
Oliver Gugger 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
Oliver Gugger 317ccb2cc9 make+build: call release script from makefile 2020-04-21 11:28:41 +02:00
Joost Jager 1307a96624 itest: check for new errors in logs 2020-04-20 14:02:23 +02:00
Oliver Gugger ec5bfd3df7 make: move escaped double quote to fix windows build 2020-04-14 15:51:44 +02:00
Conner Fromknecht d66f15d01f make+build: compile go version into binary 2020-04-10 16:39:23 -07:00
Conner Fromknecht 07420835d0 make+build: compile build tags into binary 2020-04-10 16:39:23 -07:00
Conner Fromknecht 75a1a1fbab make+build: compile SHA1 commit hash into binary 2020-04-10 16:39:22 -07:00
Johan T. Halseth 73c542c934 travis+lint+make: limit lint concurrency only on travis
Since linting is much faster by using the defaults locally.
2020-03-31 10:27:44 +02:00
Oliver Gugger 7917d22daf Makefile: don't format proto
There are different versions of clang-format being installed on
different versions of ubuntu that apparently produce different
results when formatting the proto files. This is likely too much
of a hurdle for new contributors to also manually install the
correct version of a command line tool just to format stuff.
2020-03-11 10:17:45 +01:00
Conner Fromknecht 7a1013fb9e make+travis: verify compiled protos on travis 2020-03-10 13:03:01 +01:00
Conner Fromknecht d7af7934b8 travis: staged travis builds
This PR introduces staging to our travis pipeline. Currently all
instances perform:

 - compilation of lnd
 - linting
 - compilation and installation of btcd binaries
 - installation of bitcoind binaries

In total this adds about 3 minutes to each of our 5 instances, resulting in
roughly 12 minutes of redundant execution time. Additionally, if if a build
fails to compile or lint we detect this 5 separate times, consuming precious
instances from other builds.

We alleviate this by adding an initial Build phase, which runs a single
instance performing the actions above. This has the benefit of quickly sanity
checking the pr before moving on to the more expensive unit or integration test
suites, and failing faster for common mistakes. It also warms up the build
caches for the Test stage in one fell swoop.

For instance, if 5 people push changes at the same time, they can all get
immediate feedback regarding compilation or linting issues, and potentially
save hours waiting for other people's test to finish or fail before finding out
they had a spelling error. This doesn't alleviate all possible issues, e.g. the
5 instances may already be consumed by test suites, but it does make a sizable
step towards minimizing time-to-failure in common scenarios.
2019-12-05 14:36:01 -08:00
Conner Fromknecht dd13a3c0d8 Makefile: make unit tess non-verbose
Makes it easier to spot failures without scrolling through pages of
successful tests.
2019-11-22 12:29:02 -08:00
Conner Fromknecht da1b599d88 Makefile+release: only use -trimpath on release script
Allows lnd to still be compiled with go1.12.x, tho users with go1.13 can
still verify release binaries.
2019-09-19 14:34:38 -07:00
Olaoluwa Osuntokun 003c576406 Merge pull request #3513 from halseth/lint-skip-generated
[trivial] lint: skip generated files
2019-09-18 21:51:16 -07:00
Conner Fromknecht cd7610ff41 Makefile: remove linter version from pkg definition 2019-09-18 14:18:14 -07:00