Commit Graph

95 Commits

Author SHA1 Message Date
Oliver Gugger
f02528f304
multi: bump Golang version to v1.19.2 2022-10-11 09:49:30 +02:00
positiveblue
12fa11f685
ci: fix go version for travis jobs
Golang uses semver `X.Y.Z` but when `Z` is zero it gets dropped from the
version. Ex: `1.18`, `1.19` instead of `1.18.0` and `1.19.0`.
2022-09-06 15:40:07 -07:00
Olaoluwa Osuntokun
65a5eeb24e
build: make Go 1.18 the min version, update to Go 1.19
As usual, we keep with the last two Go versions, which means the last
year of Go release (they release every 6 months or so).

This change means we can now use the type params (generics) in the
project!
2022-08-23 10:54:13 -05:00
Olaoluwa Osuntokun
c0672b80c2
build: update all Dockerfiles to build w/ Go 1.18.2 2022-06-10 11:32:39 -07:00
Olaoluwa Osuntokun
a90dfff9a5
build: update to Go 1.18 2022-04-12 16:14:04 -07:00
Olaoluwa Osuntokun
56d00f40ef
script: update CI to bitcoind 22 2021-11-03 16:43:27 -07:00
Oliver Gugger
0cfe0f43e7
Travis: bump ARM parallelity to 3 2021-10-08 12:22:09 +02:00
Oliver Gugger
134be244b4
GitHub+Travis: move itests to GitHub Actions 2021-10-05 20:48:48 +02:00
Oliver Gugger
1774934666
multi: fix Postgres on Travis
Fixes the docker build that was caused by
https://github.com/docker-library/postgres/issues/884.
Using the alpine and version 13 image avoids the problem introduced
with postgres 14 and debian bullseye.
2021-10-05 20:48:48 +02:00
Olaoluwa Osuntokun
d973cf1060
build: upgrade all CI+build infra to Go 1.17 2021-09-29 17:31:34 -07:00
Joost Jager
daeb96fe0a
postgres: add itest 2021-09-21 10:44:23 +02:00
Andras Banki-Horvath
ef7e46bc2e
travis: fix ARM and Windows itest parallelism 2021-09-15 10:26:52 +02:00
Oliver Gugger
4d89585a2d
Travis: reduce ARM itest parallelism to 2
Reduces the number of concurrent tranches of itests running to two on
ARM in an attempt to make the tests less flaky because of very high CPU
usage with the default 4 parallel tranches.
2021-09-14 22:11:25 +02:00
Andras Banki-Horvath
b07bcde482
ci: switch Travis ARM integration test to use bitcoind 2021-09-06 21:46:20 +02:00
Joost Jager
98e75b486d
itest: add db backend flag 2021-07-05 10:10:02 +02:00
Oliver Gugger
57f3a2c595
Travis: decrease Windows itest parallelism
The Windows virtual machine that Travis runs the integration tests on
seems to be slower than the other machines. We try to increase the
stability of the tests by cutting the number of parallel running suites
in half. This will come at the cost of longer execution time but
hopefully with a better stability in return.
2021-05-14 10:09:02 +02:00
Olaoluwa Osuntokun
af0fc09f62
multi: update build systems and CI/CD to go 1.16 2021-04-13 15:57:21 -07:00
Olaoluwa Osuntokun
caac0e6347
build: update CI builds to use go 1.15.7 2021-02-03 16:51:40 -08:00
Oliver Gugger
9c6e208797
multi: remove proto install script 2021-01-28 10:29:01 +01: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
4c56f3cacb
multi: add release helper docker file 2021-01-08 16:14:24 +01:00
Andras Banki-Horvath
d3cd412137
ci: add etcd itests to our CI (bitcoind only) 2021-01-08 15:39:12 +01:00
Oliver Gugger
91ed4d811e
GitHub+Travis: update to latest golang patch version 2020-12-12 11:26:00 +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
d4068e9892
travis+make: execute test groups in parallel 2020-11-04 11:03:33 +01:00
Oliver Gugger
4dcdfd98bb
travis: add bitcoind test without txindex 2020-10-09 13:35:06 +02:00
Oliver Gugger
e8253479d5
Travis+GitHub: update to bitcoind 0.20.1, remove cache
With this commit we use the same version of bitcoind in all tests and
also remove the caches for the binary as docker has its own cache.
2020-10-08 21:30:11 +02:00
Olaoluwa Osuntokun
0f90bb638d build: build and run CI against Go 1.5 2020-10-06 15:30:50 -07:00
Oliver Gugger
1558edbc3c
travis+lint: fix memory usage
There is a setting to control how often the garbage collector is run.
Apparently this is a tradeoff between CPU and memory usage. If we can
limit the memory being used in that way, this allows us to use multiple
worker again, so overall this shouldn't be much slower than before.
2020-09-21 21:17:46 +02:00
Oliver Gugger
a93aaff2fd
travis: only upload log files on test failure
To speed up tests and also not DoS termbin and file.io, we only upload
the integration test logs on failure.
2020-09-16 15:16:10 +02:00
Oliver Gugger
a6a7aca8af
travis: add itest on Windows
This commit adds an integration test that runs on a Windows virtual
machine on Travis. The tests run inside of a "Git Bash" environment
which supports the same command line syntax as a proper bash but doesn't
have all the tooling installed. Some tools also behave differently on
Windows. Therefore we also have to simplify the command to upload the
logs to termbin and remove the upload to file.io on Windows because both
the find and tar command don't work as expected.
2020-08-05 09:02:42 +02:00
Oliver Gugger
77fc1ac68f
travis: add sanity check stage 2020-07-29 10:16:47 +02:00
Oliver Gugger
5d5e6c369d
travis: add integration test on ARMv7 (32bit) 2020-07-24 09:49:43 +02:00
Oliver Gugger
17b8b7ea0c
github+travis: split CI tasks between Travis and GitHub
To free up build in Travis, we decided to run the non-flaky parts of
the CI pipeline in GitHub Workflows/Actions only. The integration tests
on the other hand are removed from GitHub because individual actions
cannot be restarted there which caused us to restart the whole workflow
if one test was flaky.

This split should give us the best of both worlds: Fast run of small
checks, linting and unit tests with an easy overview of what failed in
the PR directly. And more free build slots on Travis to do more advanced
integration tests on other architectures and/or operating systems. And
the option to restart a single flaky integration test on Travis.
2020-07-23 15:06:05 +02:00
Johan T. Halseth
b55b7025b0
travis: sanity check mobile build compilation 2020-07-17 08:49:02 +02:00
Olaoluwa Osuntokun
870b64a5bd
build: update travis to build against go 1.14 2020-06-15 17:51:19 -07:00
Oliver Gugger
4384319b4a
travis: use make command for windows build 2020-04-21 11:28:42 +02: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
Wilmer Paulino
4b8d0d913a
build: bump travis bitcoind version to v0.19.1 2020-03-13 11:03:00 -07:00
Oliver Gugger
3b8dd4bd63
travis: cross-compile windows 2020-03-11 09:12:52 +01:00
Conner Fromknecht
7a1013fb9e
make+travis: verify compiled protos on travis 2020-03-10 13:03:01 +01:00
Oliver Gugger
ac28b2c692
travis: remove git clone depth limitation to fix linter
By default, Travis-CI does `git clone --depth=50` which limits the
repo to the last 50 commits. Because we do linting against an old
commit, it cannot be found any more. We remove the limit completely
to not run into this problem again.
2020-02-20 20:59:25 +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
Wilmer Paulino
44fa28b27b
build: bump travis bitcoind version to 0.19.0.1 2019-11-25 10:59:00 -08:00
Conner Fromknecht
45114cb819
build: bump to bitcoind 0.18.1 for itests 2019-10-01 16:29:55 -07: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
857a2c3e65
make+travis: enable bitcoind itests on travis 2019-09-02 09:37:37 +02:00
Wilmer Paulino
18342410f0
travis: fix log upload regression after itest move 2019-06-04 15:03:54 -07: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
19d6cc00e5
travis: enable neutrino itest 2019-05-27 09:29:03 +02:00