208 Commits
Author SHA1 Message Date
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
Conner Fromknecht 4e5c4df098 Makefile: remove side-effects to go.mod when installing all deps
This commit applies the same cd /tmp prefix to installations for all
dependencies. It also corrects the previous behavior, which requires the
cd /tmp to be in the same command, and not separate statements.
2019-09-18 14:03:18 -07:00
Conner Fromknecht ed8913f08a Makefile: add verbose output to go get for linter 2019-09-18 14:01:49 -07:00
Conner Fromknecht 697974c9cf Makefile: remove extraneous go install calls for module deps 2019-09-18 14:01:12 -07:00
Conner Fromknecht a8130f0c40 Makefile: remove -u when installing go-acc 2019-09-18 13:43:35 -07:00
Johan T. Halseth 504a910def make: run linter on verbose 2019-09-18 09:07:53 +02:00
Olaoluwa Osuntokun 7b1166bbb7 Merge pull request #3458 from Roasbeef/go1.13
build: update travis and Makefile to build using Go 1.13
2019-09-14 11:18:51 +03:00
Joost Jager 1216dc6a5b build: pin golangci-lint version
To prevent builds breaking when golangci-lint or any of the linters is
updated.
2019-09-13 11:46:23 +02:00
Olaoluwa Osuntokun a4e2bb47d2 build: update travis to build against go 1.13
In this commit, we update Travis to start building against the newly
released go 1.13. Additionally, we'll now utilize the new `trimpath` to
the `go build` and `go install` commands. This new flag serves to remove
all file system paths from the compiled Go executable, which will make
our binaries more reproducible.
2019-09-11 05:54:33 -07:00
Johan T. Halseth 3aa9f18395 make: define make android, make mobile (ios+android) 2019-09-05 09:22:54 +02:00
Johan T. Halseth 4dcaea1f5d make: define make ios, make vendor 2019-09-05 09:22:54 +02:00
Johan T. Halseth a5c63786c6 make+mobile: define gen_bindings.sh
gen_bindings uses falafel to generate Go bindings from the lnrpc
protos.
2019-09-05 09:22:54 +02:00
Conner Fromknecht 4dbe9379a9 Makefile: ensure submodules are linted, covered, and tested 2019-08-08 14:39:18 -07:00
Johan T. Halseth 3207c8a736 make: change linter gometalinter->golangci-lint 2019-08-07 10:53:09 +02:00