Commit Graph

213 Commits

Author SHA1 Message Date
Boris Nagaev
4fc8d8dda3 build: update CI+release version to Go 1.25.3
We also update the go.mod files to pin to Go 1.24.9.
2025-10-21 14:32:44 -03:00
Olaoluwa Osuntokun
b82ed88be5 ci: use enhanced cleanup action in release workflow
In this commit, we replace the basic inline cleanup command in the release
workflow with the comprehensive cleanup-space action that was previously
only used in the main CI workflow. The previous release workflow cleanup
simply removed the hostedtoolcache directory, which freed only a few
gigabytes and proved insufficient for multi-platform release builds.

By switching to the cleanup-space action (now enhanced to free 20-25GB),
the release workflow will have substantially more disk space available
before beginning the build process. This should resolve the disk space
exhaustion issues that were occurring during the Windows ARM build phase,
which is one of the final platforms in the 15-platform build sequence.
2025-10-20 22:39:47 +01:00
Olaoluwa Osuntokun
2ccf4b9806 ci: enhance cleanup-space action for release builds
In this commit, we significantly expand the cleanup-space GitHub Actions
workflow to free up substantially more disk space on GitHub runners. The
previous cleanup only removed three large toolsets (dotnet, android,
ghc), which should free ~14GB. This enhancement adds removal of several
additional large packages and caches, bringing the total freed space to
approximately 20-25GB.

The specific additions include removing Swift and Julia language runtimes,
the hosted toolcache directory, all Docker images, numerous large apt
packages (aspnetcore, llvm, php, mongodb, mysql, azure-cli, browsers, and
development tools), and various cache directories. We also add disk space
reporting before and after cleanup to provide visibility into how much
space is actually being freed during workflow runs.

This enhancement was motivated by release builds running out of disk space
when building for all 15 supported platforms (darwin, freebsd, linux,
netbsd, openbsd, windows across multiple architectures). The sequential
builds with verbose output were consuming more space than the basic cleanup
could provide.
2025-10-20 22:39:47 +01:00
Olaoluwa Osuntokun
7fcbbd44ca build: update CI+release version to Go 1.25.2
We also update the go.mod files to pin to Go 1.24.8.
2025-10-11 13:39:51 +01:00
bitromortac
f23b4d1ff1 github: change to form-based issue template
This commit introduces a more structured approach to issue generation,
where we can make certain info required.
2025-09-19 11:40:49 +02:00
Yong
0c1746a093 Merge pull request #10174 from hexcow/patch-1
chore(ci): upgrade checkout to v5
2025-09-15 15:29:55 +08:00
Olaoluwa Osuntokun
33406bc6f8 build: make special label checks auto-pass instead of skip
In this commit, we revamp the way our skip-labels worked to instead mark
certain stages as green, instead of skipping them. Skipped changes
didn't count towards the set of required checks, which slowed down PR
velocity.

Previously, when PRs were labeled with 'no-itest' or 'no-changelog',
the corresponding CI jobs would be completely skipped. This caused the
GitHub checks to show as skipped rather than successful, which could
be confusing and prevented certain merge rules from working properly.

This commit changes the behavior so that these jobs still run but
immediately report success when the special labels are detected. Each
affected job now starts with a label check step that sets a skip
flag, and all subsequent steps are conditionally executed based on
this flag. When skipped, the jobs add a notice to the GitHub step
summary explaining that tests were auto-passed due to the label.

The change affects five jobs: basic-integration-test, integration-test,
windows-integration-test, macos-integration-test, and milestone-check.
2025-09-03 16:09:31 -07:00
Boris Nagaev
6ffe257004 multi: bump Go to 1.24.6 2025-08-30 14:13:44 -03:00
hexcow
f1c807d482 chore(ci): upgrade checkout to v5 2025-08-25 11:06:38 +03:00
ziggie
1fb284fa26 github actions: move pgp key to daily builds 2025-08-19 08:35:42 +02:00
Gustavo Stingelin Cardoso Filho
7ba28c4961 CI: add pgp keys expire check 2025-08-14 15:36:10 -03:00
ziggie
87844cd5b4 multi: bump Golang version to v1.23.12 2025-08-07 16:53:45 +02:00
Boris Nagaev
9e58a644aa go.mod: bump google.golang.org/protobuf to 1.33.0
Updated github.com/golang/protobuf to v1.5.4 to be compatible with
google.golang.org/protobuf.

Updated the pinned version in pinned_dep CI job.
2025-07-25 12:20:24 -03:00
yyforyongyu
af2f935ab7 .github: add timeout when sending coverage reports
We also make it cancelable.
2025-07-18 15:41:46 +08:00
yyforyongyu
f2e1c11593 .github: remove github.job from the cache key and update docs
This commit adds a more descriptive docs about the caching process. In
addition, the `github.job` is now removed from the cache key
construction to allow jobs sharing the same cache. In addition, given we
now use `inputs.key-prefix`, the `github.job` is no longer relevant as
the `key-prefix` already creates a unique name for the cache.

We also update the lint and check commits job to use the same cache from
the unit test, given they are running in the same environment.
2025-07-18 15:41:46 +08:00
yyforyongyu
4b1a68778e .github: use title case in job names
To unify the format used in job names.
2025-07-18 15:41:46 +08:00
yyforyongyu
a83dcaffae .github: add new action cleanup-space 2025-07-18 15:41:44 +08:00
yyforyongyu
81ce5aad94 .github: run PR review stats only for side branches 2025-07-17 20:42:24 +08:00
yyforyongyu
db0927fb95 .github: auto clean caches older than 12 hours 2025-07-17 20:42:24 +08:00
yyforyongyu
4f98a0313a .github: add write permission to delete caches 2025-07-17 20:42:24 +08:00
yyforyongyu
da2b3469dd .github: move small tasks onto the same machine
Thus saving us from the overhead cost, also they can share the same
cache file.
2025-07-17 20:42:21 +08:00
yyforyongyu
77380debbc .github: replace the aggressive cleanup with a more targeted one
This follows GitHub's official recommendation to avoid re-downloading
essential tools that setup-go might depend on
2025-07-17 16:02:35 +08:00
yyforyongyu
583b8562ab .github: use module cache only whenever possible 2025-07-17 16:02:33 +08:00
Boris Nagaev
643fbb8af6 multi: update Go to 1.23.10 2025-07-16 01:19:58 -03:00
Elle Mouton
e38aa6d1e0 multi: itest jobs with SQL graph backend
In this commit, a new `test_native_sql` build flag is defined. If this
build flag is used along with the `--use-native-sql` config option, then
the SQLStore implementation of the graphdb.V1Store will be initialised.
This is then used to run our itest suite against the new SQLStore graph
implementation.

NOTE that this only works for new nodes currently - the migration from
kv-to-sql is yet to be implemeneted.
2025-06-26 10:12:54 +02:00
Elle Mouton
b4121acb1f graph/db: add a framework for testing against SQL backends incrementally
In this commit, we implement the postgres and sqlite versions of the
NewTestDB function. We add the various build flags so that only one of
the three versions of this function can be active at a time.

We also introduce the SQLStore struct which is the SQL implementation of
the V1Store interface.

NOTE: it currently temporarily embeds the KVStore struct so that we can
implement the V1Store interface incrementally. For any method not
implemented, things will fall back to the KVStore. This is ONLY the
case for the time being while this struct is purely used in unit tests
only. Once all the methods have been implemented, the KVStore field will
be removed from the SQLStore struct.
2025-05-22 14:14:42 +02:00
Olaoluwa Osuntokun
1c76c6198c build: bump Go version to v1.23.9 2025-05-06 15:50:16 -07:00
Oliver Gugger
d9089b11ac GitHub: fix order of operations 2025-04-24 08:36:17 +02:00
Oliver Gugger
337d9a9b23 Merge pull request #9628 from guggero/bitcoind-29
scripts+GitHub: use bitcoind v29.0
2025-04-17 16:23:00 +02:00
Oliver Gugger
f4a6c3487a scripts+GitHub: use bitcoind v29.0 2025-04-17 09:07:01 +02:00
yyforyongyu
45029d9b6c docs: add development_guidelines.md
This file focuses on the requirements and steps needed to make an
acceptable PR.
2025-04-14 17:08:56 +08:00
Oliver Gugger
5ac72ed282 GitHub: disable cache, remove hosted tools cache
In an attempt to fix the "out of disk space" build error during release
builds, we first disable using Golang caches (which can be quite large)
and then remove a bunch of pre-installed tools and their caches to
provide some additional disk storage.
2025-04-07 12:23:16 +02:00
Olivier BARTHELEMY
336799ad48 Fix release build command
vendor folder needs to be inside lnd-source folder for the following comands to work, but the two tar commands extract them in separate folder
2025-03-31 13:01:09 +01:00
Olaoluwa Osuntokun
f744a5477f Merge pull request #9565 from guggero/bot-typo-fix-spam
GitHub+docs: no longer accept typo fixes to fight PR spam
2025-02-28 16:18:17 -08:00
Oliver Gugger
7761e37522 GitHub: remove generated files from coverage 2025-02-28 14:55:34 +01:00
Oliver Gugger
124137e31a GitHub+make: debug failing test, use official coveralls action 2025-02-28 14:55:34 +01:00
Oliver Gugger
576da75a07 multi: remove unneeded env variables
With Go 1.23 we don't need to set any of these variables anymore, as
they're the default values now.
2025-02-28 14:55:34 +01:00
Oliver Gugger
a78f9f6c0a GitHub+docs: no longer accept typo fixes to fight PR spam 2025-02-28 13:02:49 +01:00
Elle Mouton
343bdff26b make+gh: add make helper and GH action
Add a makefile helper to run the neww backwards compatability test and
then add a new GH actions job to call it.
2025-02-27 11:33:15 +02:00
Oliver Gugger
dc64ea97a2 GitHub: remove duplicate caching
Turns out that actions/setup-go starting with @v4 also adds caching.
With that, our cache size on disk has almost doubled, leading to the
GitHub runner running out of space in certain situation.
We fix that by disabling the automated caching since we already have our
own, custom-tailored version.
2025-02-20 18:14:29 +01:00
Olaoluwa Osuntokun
61852fbe95 multi: update build system to Go 1.23 2025-02-13 16:57:06 -08:00
yyforyongyu
2b0c25e31d workflows: skip coverage error in job finish
Also updates the coverage action used.
2025-02-13 22:05:38 +08:00
Elle Mouton
a67df6815c .github: ignore Send coverage errors
Sometimes only the "Send coverage" step of a CI job will fail. This
commit turns this step into a "best effort" step instead so that it
does not block a CI job from passing.

It can, for example, often happen that a single job is re-run from the
GH UI, it then passes but the "Send coverage" step fails due to the
"Can't add a job to a build that is already closed." error meaning that
the only way to get the CI step to pass is to re-push and retrigger a
full CI run.
2025-02-12 12:34:02 +02:00
Oliver Gugger
191c838ad1 multi: bump Go version to v1.22.11 2025-01-30 16:13:26 +01:00
yyforyongyu
29603954bd .github: update actions versions 2025-01-20 21:55:20 +08:00
Elle Mouton
a7a01f684d .github: bump upload-artifact action to v4 2025-01-10 08:31:57 +02:00
yyforyongyu
1dec926165 workflows: increase num of tranches to 16
Keep the SQL, etcd, bitcoin rpcpolling builds and non-ubuntu builds at 8
since they are less stable.
2024-12-20 19:38:14 +08:00
yyforyongyu
691a6267be workflows: use btcd for macOS
To increase the speed from 40m per run to roughly 20m per run.
2024-12-20 19:38:13 +08:00
yyforyongyu
ef167835dd workflows: pass action ID as the shuffle seed
To make sure each run is shuffled, we use the action ID as the seed.
2024-12-20 19:38:05 +08:00
yyforyongyu
1167181d06 workflows: fix no space left error 2024-12-20 14:00:30 +08:00