Commit Graph

77 Commits

Author SHA1 Message Date
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
Olaoluwa Osuntokun
3b575463dc
Merge pull request #1881 from halseth/neutrino-integration-tests
Neutrino integration tests
2019-05-27 16:09:44 -07:00
Johan T. Halseth
3df0821aa3
make: add backend tag for itests
Defaults to running itests with btcd.
2019-05-27 09:29:02 +02:00
AdamISZ
9b3676fdd4
Allow unit-cover target for make to filter by package
Previous to this commit, running `make unit-cover pkg=xx`
would ignore the selected package and run unit tests and
coverage for all packages.
After this commit, the package selected with pkg= is the
only one that is tested and coverage output generated for.
If no pkg is selected, the default is as before, all pkgs.
2019-05-24 12:51:35 +02:00
Johan T. Halseth
ccff4fc0a5
make: point makefile to new main package 2019-04-23 20:57:33 +02:00
Olaoluwa Osuntokun
3895a4f276
Merge pull request #2745 from cfromknecht/make-install-btcd
Makefile: actually install btcd w/ make btcd
2019-03-08 18:41:18 -08:00
Conner Fromknecht
29fe6e61e2
Makefile: actually install btcd w/ make btcd 2019-03-07 17:56:37 -08:00
Wilmer Paulino
b66f97c23a
Makefile: fix unit test flakehunter when running on specific package
When using the unit test flakehunter and specifying a package, after the
first successful run, all of the tests would be run, rather than just
the ones within the specified package.
2019-03-06 18:01:07 -08:00
Conner Fromknecht
245b76ab51
Makefile: lint all travis builds
Ensures we fail faster if the source code doesn't
pass the lint checks.
2019-01-31 15:36:56 -08:00
Conner Fromknecht
e0cf99c53d
Makefile: use go-acc for coverage 2019-01-23 17:42:52 -08:00
Johan T. Halseth
4cbc6e6e07
make: build lnd-itest before flakehunting 2019-01-17 14:40:20 +01:00
Johan T. Halseth
5c41243f35
Merge pull request #2118 from halseth/make-fmt-2
make: ensure make fmt is run with -s flag
2019-01-08 10:32:34 +01:00
Joost Jager
3b1357c3ab
build: apply rpctest tag in itest
We need to distinguish an lnd build for the purpose of integration
testing from a regular dev build. This makes it possible to adapt
parameters to let integration tests run faster (for example:
sweeper batch window).
2018-12-18 10:50:07 +01:00
Johan T. Halseth
0ba4fb8605
make: don't hardcode commit date
As it won't correspond to the commit hash, include the whole version
string.
2018-12-04 14:09:33 +01:00
Johan T. Halseth
bafc44c14b
make: get btcd commit hash from go.mod
Since go.sum also contains historical commits, we must fetch currenct
commit hash from go.mod.
2018-12-04 13:50:51 +01:00
Olaoluwa Osuntokun
5107feb1ce
Merge pull request #2261 from cfromknecht/makefile-unused-declarations
Makefile: remove unused HAVE_ declarations + cleanup
2018-12-03 13:34:43 -08:00
Brian Sipple
c9a5593a64 build: update make btcd command with GO111MODULE=on 2018-12-02 15:43:26 -08:00
Conner Fromknecht
7557bded50
Makefile: remove unused HAVE_ declarations + cleanup 2018-12-02 15:24:14 -08:00
Conner Fromknecht
0d9b5ecc3c
Makefile: use period for print for consistency 2018-11-30 15:20:50 -08:00
Conner Fromknecht
0ad3302e16
Makefile: remove unnecessary PROD_TAGS 2018-11-30 15:20:47 -08:00
Conner Fromknecht
3e0ca05740
Makefile: add travis-race and travis-cover targets 2018-11-30 15:20:45 -08:00
Olaoluwa Osuntokun
24ab9970bf
build: modify make file to use go get with precise btcd hash 2018-11-30 14:01:00 -08:00
Olaoluwa Osuntokun
9e5ba86cef
build: force modules at the travis script level 2018-11-29 21:40:47 -08:00
Olaoluwa Osuntokun
1483af79da
build: force gomodules when executing linter 2018-11-29 21:35:51 -08:00
Olaoluwa Osuntokun
910757d30e
build: force go modules off when using metalinter in makefile 2018-11-29 21:26:30 -08:00
Olaoluwa Osuntokun
0936aebf1d
build: remove glide usage to build btcd from Makefile
We no longer need glide to build btcd as btcd itself now uses go modules
as we do.
2018-11-29 20:33:50 -08:00
Olaoluwa Osuntokun
e2e73379c7
build: update makefile to be aware of go modules, remove dep support
In this commit, we update the makefile to be aware of go modules. Along
the way, we remove all references to dep as we no longer use it within
this project. Note that in order to allow usage of go modules within the
$GOPATH directory, we set the `GO111MODULE=on` environment variable.
2018-11-28 20:13:52 -08:00
Johan T. Halseth
b64d55cdbf
make: remove make travis 2018-11-16 11:04:51 +01:00
Johan T. Halseth
23c858576f
make: define itest-only
'itest-only' can be used to only run integration tests, not build any of
the dependencies. This is useful on travis, where manually executing
each command makes it easier to track the time spent on each.
2018-11-16 11:04:50 +01:00
Johan T. Halseth
c6ee2803ad
make: define goveralls 2018-11-16 11:04:50 +01:00
Johan T. Halseth
099a9b7b79
make: remove uneccessary go install
'go install' is done as part of 'go get -u'.
2018-11-16 11:04:50 +01:00
Johan T. Halseth
dca5997262
make: ensure make fmt is run with -s flag
Linting will fail if code is not formatted with the -s flag, so make
sure we always use it when formatting.
2018-10-29 08:58:47 +01:00