Commit Graph

156 Commits

Author SHA1 Message Date
Oliver Gugger
6874582ed4
GitHub: allow skipping itest and changelog check with labels 2023-02-06 14:11:59 +01:00
Chris Geihsler
a5eaabf548
multi: add sqlite option to itests and github job 2023-01-25 14:16:56 +02:00
Elle Mouton
2fd4f3f180
go.mod+lnrpc+github: point to latest kvdb changes
Use kvdb package v1.4.1. This update also forced the protobuf version to
be bumped which required `make rpc` to be run to update the generated
files. This also required a bump in the github pinned dependencies
config for the grpc and protobuf libs.
2023-01-25 14:03:00 +02:00
Oliver Gugger
a074c801d1
GitHub: add job ID to cache key
To avoid the problem where multiple jobs try to create the same cache
entry, we add the GitHub job ID to the cache key.
The two restore keys make it possible that a job can also restore a
cache entry from another job if none for the current job exist yet.
2023-01-06 09:18:28 +01:00
Oliver Gugger
984fc3a2ec
GitHub: make setup-go action more versatile
With this commit we allow the Go version that is set up to be
configurable and not dependent on a specific environment variable. This
will allow us to eventually extract the action into a tooling
repository.
2023-01-06 09:18:26 +01:00
Oliver Gugger
c4ca7b99e2
GitHub: remove Go env variable override
For some reason we used to override the GOCACHE and GOPATH variables
earlier. This now causes the updated cache action not to pick up any
caches. As the overrides shouldn't be needed anymore, we remove them.
2023-01-06 09:18:16 +01:00
yyforyongyu
3ca7e30199
github: move fmt-check into lint 2022-12-15 16:56:06 +08:00
yyforyongyu
26110beb53
github: upgrade actions/checkout to v3 2022-12-15 16:32:45 +08:00
yyforyongyu
26613a2d46
github: create new action to hold common setup 2022-12-15 16:26:12 +08:00
yyforyongyu
4f9f2f7901
github: update action versions 2022-11-17 21:06:12 +08:00
Elle Mouton
5499ce36fa
github+docs: only check commits on PR action 2022-11-04 11:07:19 +02:00
Elle Mouton
5ea99578a8
github: check commits against base branch 2022-11-02 09:08:21 +02:00
yyforyongyu
55f8a621ae
lntest+github: add flag temptest to run tests separately
This commit adds a new flag `temptest` so we can run new and old tests
separately. This flag will be removed once the migration from old tests
to new tests is finished.
2022-10-14 07:25:28 +08:00
Oliver Gugger
f02528f304
multi: bump Golang version to v1.19.2 2022-10-11 09:49:30 +02:00
Olaoluwa Osuntokun
2f16997a98 build: add PR stats to github workflow
In this PR, we introduce a new Github work flow tool that should help us
keep better track fo reviewer load across the proejct. Ideally this can
also be used as a tool to help new PRs find a reviewer, and also for us
to better balance out review load, and keep track of how long it takes
to do PR turnaround.
2022-10-05 13:18:02 -07:00
Oliver Gugger
9eaf0cb73f
GitHub: add link to discussions [skip ci] 2022-10-03 18:41:36 +02:00
Oliver Gugger
f5a3b735f6
GitHub: add template for feature requests 2022-10-03 18:41:36 +02:00
Oliver Gugger
bd507c4c37
GitHub: move default template to bug_report.md, add config
With this commit we prepare for adding multiple issue templates to
GitHub that will be shown when the user clicks on the "New Issue" button
on GitHub.
The config.yml will also add a bunch of useful links to the page that
shows the different issue templates.
An example of how this template selection page looks like can be found
here: https://github.com/lightninglabs/lightning-terminal/issues/new/choose
2022-10-03 18:41:36 +02: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
yyforyongyu
859c5e5da4
Makefile+github: add make fmt-check to check for formatting 2022-08-23 22:10:27 +08:00
yyforyongyu
71eb5804b6
github: cancel concurrent workflows for the same PR/push 2022-08-18 03:54:48 +08:00
Olaoluwa Osuntokun
c0672b80c2
build: update all Dockerfiles to build w/ Go 1.18.2 2022-06-10 11:32:39 -07:00
Elle Mouton
e789107e1f
multi: new bitcoind rpcpolling backend for itests 2022-05-11 09:02:13 +02:00
Daniel McNally
9966960b9a
build: update release tags
This updates the list of tags used for `release` builds in the release
documentation. `peersrpc`, `kvdb_postgres`, and `kvdb_etcd` are now
automatically included in `make release` or `make release-install`
builds.
2022-05-05 18:16:44 -04:00
Oliver Gugger
f8dd032de5
Merge pull request #6465 from Roasbeef/bitcoind23
build: update CI to build against bitcoind 23
2022-05-05 13:24:50 +02:00
Olaoluwa Osuntokun
dec389d54f
build: update CI to build against bitcoind 23 2022-05-04 15:24:22 -07:00
ErikEk
635cffa871 multi: add sub-server dep 2022-04-30 08:55:49 +02:00
Olaoluwa Osuntokun
a90dfff9a5
build: update to Go 1.18 2022-04-12 16:14:04 -07:00
Oliver Gugger
ba83c11a6f
Merge pull request #6346 from thinkmassive/docker-tag-master
github: re-add rolling tag 'daily-testing-only'
2022-03-30 12:53:37 +02:00
Alex Miller
fcaa2a93d2
github: re-add rolling 'daily-testing-only' tag [skip ci]
This commit re-adds the rolling `daily-testing-only` tag in addition to
the unique daily tag `daily-<YYYYmmdd>`.

A rolling `master` build was proposed but declined because this would
put an unnecessary burden on the build system (each run takes ~45 min)
2022-03-22 14:12:56 -04:00
Oliver Gugger
bdda2aa059
docs+github+scripts: remove submodule update check
Because we want to avoid local replace directives (as they make it easy
to screw up things for external applications that use lnd as a library
without us noticing), we're going to switch over to a new process.
See section "Use of Golang submodules" in the code contribution
guideline.
2022-03-22 14:17:26 +01:00
Alex Miller
8c4a00853d
github: daily builds use a unique tag 2022-03-10 14:41:24 -05:00
carla
0f8d314ee7
github: simplify PR template and add more sections [skip ci] 2022-01-28 09:50:02 +02:00
yyforyongyu
b2f3cabc23
github: add timeout when zipping log files 2022-01-21 12:36:54 +08:00
Oliver Gugger
5ead5ec4b6
GitHub: fix daily docker build 2022-01-20 10:27:42 +01:00
Oliver Gugger
264b3b00cd
github: add schedule for daily build 2022-01-18 12:46:27 +01:00
Oliver Gugger
ed3e597598
Merge pull request #5953 from yyforyongyu/add-contribution-checklist
docs: add skip ci to PR checklist [skip ci]
2021-12-02 10:46:37 +01:00
Oliver Gugger
44266f3889
GitHub+Makefile: remove travis goals 2021-11-29 12:52:26 +01:00
Oliver Gugger
260094cf07
GitHub: use go version that understands retract directive
As is customary with new GitHub actions, they don't work on first
attempt if you don't test them *sigh*

We need to use a more recent version of golang than is pre-installed to
avoid the "unknown directive: retract" error message.
2021-11-23 09:32:14 +01:00
Oliver Gugger
55edd1b260
scripts+GitHub: check submodule version bump 2021-11-22 14:40:28 +01:00
Olaoluwa Osuntokun
e94ddf7b17
build: bump release+build version to Go 1.17.3 2021-11-15 17:29:02 -08:00
yyforyongyu
2aaae4a776
docs: add skip ci to PR checklist [skip ci] 2021-11-10 00:23:26 +08:00
Olaoluwa Osuntokun
56d00f40ef
script: update CI to bitcoind 22 2021-11-03 16:43:27 -07:00
Joost Jager
d997bbf6b3
channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
Oliver Gugger
4e224fe0aa
GitHub: fix matrix, package log files before upload
It turns out we were using the wrong matrix variable in the actual
make command and ran the same itest 6 times with no arguments, all
resulting in running the btcd test.

To avoid uploading too many files in individual requests, we zip them
first before uploading the zip itself.
2021-10-21 12:07:15 +02:00
Olaoluwa Osuntokun
3efe94b4b1
Merge pull request #5833 from guggero/itest-github-fixes
itest: fix log file upload and flakes
2021-10-07 12:47:32 -07:00
Olaoluwa Osuntokun
ca4b8180a0
Merge pull request #5826 from guggero/release-fixes
GitHub: download key from git repo, update Roasbeef's key
2021-10-07 12:32:17 -07:00
Oliver Gugger
b925ebb92c
GitHub: only upload logs on failure 2021-10-06 16:29:44 +02:00
Oliver Gugger
134be244b4
GitHub+Travis: move itests to GitHub Actions 2021-10-05 20:48:48 +02:00
Oliver Gugger
d688a2a7f5
GitHub: download key from git repo, update Roasbeef's key
With this commit we update the release template to download Roasbeef's
key from the git repository via GitHub.
We also update the key mentioned in the template to the new signing key.
[skip ci]
2021-10-05 10:06:40 +02:00
Olaoluwa Osuntokun
6b73f01683
build: set min Go version to 1.16 in go.mod 2021-09-29 17:31:45 -07:00
Olaoluwa Osuntokun
d973cf1060
build: upgrade all CI+build infra to Go 1.17 2021-09-29 17:31:34 -07:00
Conner Fromknecht
af3fa69d05
docs: update release verification scripts for v0.12.1-beta 2021-09-27 15:48:20 +02:00
Conner Fromknecht
50d27e8050
docs: remove unnecessary docker pull from release verification
Docker will automatically pull the image if it isn't found locally.
2021-09-27 15:48:20 +02:00
Joost Jager
3eb80cac97
kvdb: add postgres 2021-09-21 10:44:18 +02:00
Olaoluwa Osuntokun
85e3dd3e45
docs: add release notes to PR checklist and contributor guidelines 2021-08-10 15:56:17 -07:00
Oliver Gugger
74dc883aa4
GitHub+make: compile JSON/WASM stubs 2021-08-03 13:44:37 +02:00
Oliver Gugger
c8df606427
GitHub+lint: reduce linter memory usage
To reduce the likelyhood of the linter OOMing on the GitHub runner, we
exclude any generated code from being inspected and also tune the golang
garbage collector to be a bit more agressive.
2021-07-27 13:09:59 +02:00
Oliver Gugger
76e1223bf2
mod+kvdb: update etcd to v3.5.0 2021-07-27 13:09:59 +02:00
Oliver Gugger
5482451297
mod+GitHub: shorten PR template, bump golang to 1.15
The golang version always needs to be in sync between the go.mod, the PR
checklist and the installation instructions.

We also shorten the Pull Request template by removing everything that we
have a CI check for and just refer to those checks instead.
2021-07-20 10:55:08 +02:00
Olaoluwa Osuntokun
6570749f7f
build: add new GH actions to require release note updates
In this commit, we add a simple bash script to parse out the current PR
number from an environment variable in the GH actions context, and use
that to check to see if the PR has been referenced in the release notes
or not. This isn't 100% fool proof, but it should catch most of the
common cases.
2021-07-16 11:00:56 -07:00
carla
8491d0da43
multi: enable monitoring build by default
The monitoring server still needs to be enabled using prometheus.enable,
so including this in the default build does not add an additional http
server unless the user opts in.
2021-06-18 09:15:51 +02:00
Oliver Gugger
3965ee93df
GitHub: remove build cache for release builder
The golang build cache seems to only grow over time and is now causing
disk space issues on the release builder. Since the release build has to
build for targets that aren't built during other GH actions and our
releases are too far apart to be hitting the cache anyway we suspect the
cache doesn't actually help that much.
Removing it might mean the build takes a bit longer but at least won't
cause any problems with full virtual disks anymore.
2021-06-03 09:35:46 +02:00
Andras Banki-Horvath
e5f249ad51
mod: integrate latest btcwallet and bump protobuf and grpc 2021-05-04 17:33:09 +02:00
Olaoluwa Osuntokun
af0fc09f62
multi: update build systems and CI/CD to go 1.16 2021-04-13 15:57:21 -07:00
Oliver Gugger
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
Conner Fromknecht
a6b977e760
github/workflows: pin exact docker release 2021-02-11 16:05:32 -08:00
Olaoluwa Osuntokun
caac0e6347
build: update CI builds to use go 1.15.7 2021-02-03 16:51:40 -08:00
Oliver Gugger
aff1a0334e
ci: check mobile compilation in same step as RPC
Because we now build a docker image for the RPC compilation, we can save
some execution minutes if we run the mobile RPC and code compilation check in the
same step of the CI workflow.
2021-01-28 10:29:02 +01:00
Oliver Gugger
9c6e208797
multi: remove proto install script 2021-01-28 10:29:01 +01:00
Oliver Gugger
1abf3e7847
GitHub: use vendored actions for steps with sensitive info
To avoid leaking any sensitive information like Docker Hub credentials
because of compromised actions repositories, we use our own, vendored
actions for all steps that potentially touch sensitive information.
2021-01-25 14:16:00 +01:00
Oliver Gugger
356fdb82f8
docs+build: explain how to verify docker images 2021-01-14 21:48:32 +01:00
Oliver Gugger
4c56f3cacb
multi: add release helper docker file 2021-01-08 16:14:24 +01:00
Oliver Gugger
ae4a1908dd
GitHub: fetch full history for release build
To make sure git has the full history, including all annotated tags, we
need to explicitly fetch everything on checkout.
2021-01-05 10:41:34 +01:00
carla
d7e2fddb75
github: add workflow that allows us to pin dependencies
This commit adds a workflow that pins certain dependencies in go.mod
that we do not want to bump.
2020-12-15 21:17:11 +02:00
Oliver Gugger
91ed4d811e
GitHub+Travis: update to latest golang patch version 2020-12-12 11:26:00 +01:00
Olaoluwa Osuntokun
04e02a57ca
Merge pull request #4852 from guggero/docker-arm
GitHub: specify docker image platforms to enable ARM image builds
2020-12-11 14:30:18 -08:00
Oliver Gugger
a2d4998962
GitHub: specify docker image platforms
To enable building docker images for ARM64 platforms as well,
we just need to specify the desired target platforms and the Docker
Buildx service will do the job for us (provided the base images support
the given platforms, which is the case for golang).
2020-12-11 08:51:33 +01:00
Conner Fromknecht
24da512d1e
actions: update to GO_VERSION 1.15.6 2020-12-10 20:41:57 -08:00
Conner Fromknecht
dce4d2abcd
build: check compilation of each commit
Inspired by Rust Lightning's GH action :)
2020-12-08 16:19:26 -08:00
Olaoluwa Osuntokun
44d84852cb
github: remove CODEOWNERS file
Since it was added, we never maintained the file leading to decay in the
set of "actual" code owners. In practice, the current set up ends up
assign most reviews to 2 or so active contributors. I think the idea
itself is sound, but the current implementation leads to certain
reviewers being over-assigned PRs, which at times causes those PRs to
stagnate since pretty much every PR gets assigned to the same set of
people.
2020-12-01 18:48:00 -08:00
Olaoluwa Osuntokun
7c6db24b89
Merge pull request #4777 from guggero/gh-release-build
GitHub: build release binaries and upload to release
2020-11-25 16:46:52 -08:00
Olaoluwa Osuntokun
39fb53bc94
Merge pull request #4769 from guggero/gh-docker-build
GitHub: add workflow for building tagged docker images
2020-11-19 19:40:55 -08:00
Oliver Gugger
8fea653c61
release: skip version check in automated builds 2020-11-19 12:35:58 +01:00
Oliver Gugger
4246238ff5
GitHub: build release binaries and upload to release
This commit adds another GitHub workflow that is activated for each
pushed tag. The release binaries are compiled from that tag for all
supported architectures. A new release in the GitHub repository is then
drafted for the tag and the finished binary packages are uploaded to
that release.
2020-11-19 12:35:53 +01:00
Oliver Gugger
9494ad6fb1
GitHub: add workflow for building tagged docker images
We add a GitHub workflow that is triggered whenever a new version tag is
pushed. It will trigger a docker image build for that version and
automatically push it to the specified repo.
2020-11-17 20:30:35 +01:00
Oliver Gugger
9bd8784ae8
GitHub: run cross compilation for all architectures
Because we now have conditionally compiled code that depends on the
architecture it is built for, we want to make sure we can build all
architectures that we also release. Since GitHub builds are very fast,
we can easily do this instead of only compiling for certain select
architectures.
2020-11-13 10:19:51 +01:00
Oliver Gugger
7ea4caa635
github: add sample-lnd.conf to PR checklist 2020-10-16 08:53:16 +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
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
Andras Banki-Horvath
26effca761
build: unit test on github with kvdb_etcd tag 2020-09-17 14:50:19 +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
Oliver Gugger
8d2a3ce8ac
github: add mobile compilation to GitHub workflow 2020-07-23 15:06:04 +02:00
Olaoluwa Osuntokun
25f6d51b45
build: update Github Actions to use Go 1.14.4 2020-06-15 17:51:22 -07:00
carla
d29271f1da
github: update checkout action to v2
Checkout v1 has a known flake:
https://github.com/actions/checkout/issues/23#issuecomment-572688577.

For our linter to pass, we need to checkout our full history (default
depth is 1 commit). We could set fetch-depth, but we will eventually
move that depth past the linter's start point commit and need to
implement another fix. Indead, we add an extra step in our linter to
fetch full history so that the linter reference commit is found.
2020-05-18 11:39:09 +02:00
Oliver Gugger
e175a64540
github: remove continue-on-error
The continue-on-error was added to make sure the log files of the
failed itests would always be uploaded. But this has the side effect
of marking the whole job successful, even if the itest job itself
failed. The failure condition in the log file steps already solve
that, so the continue-on-error is not needed anymore.
2020-05-12 13:29:51 +02:00
Oliver Gugger
b6ab16f02a
github: add GitHub Actions configuration 2020-05-11 16:05:21 +02:00
Oliver Gugger
59875b6ec4
github: add proto formatting to pull request template 2020-03-10 20:19:21 +01:00
Olaoluwa Osuntokun
a3d5a708bb CODEOWNERS: remove top level catch all 2019-07-10 12:15:38 -07:00