Skip to content

More CI speedups#8916

Merged
rustyrussell merged 8 commits intoElementsProject:masterfrom
rustyrussell:guilt/ci-even-faster
Feb 28, 2026
Merged

More CI speedups#8916
rustyrussell merged 8 commits intoElementsProject:masterfrom
rustyrussell:guilt/ci-even-faster

Conversation

@rustyrussell
Copy link
Contributor

@rustyrussell rustyrussell commented Feb 26, 2026

  • Use -O3 for clang build (speeds min-btc-support to 53 minutes from almost 3 hours)
  • Cache downloads (debs, bitcoind etc) avoiding occasional weird Azure network stalls (normally 90 seconds, sometimes 14 minutes!)
  • Don't install bitcoind twice in some tests
  • Avoid useradd: seems to stall for 30 seconds
  • Disable flakytracking upload: the server seems unresponsive, and 20 minute runs were taking 1h20mins.

The final result, from time to submit PR to getting CI result, using typical times:

  • Bad spelling or missing changelog? (pre-build check) 90 seconds
  • Broke compilation under any compiler? (compile check) 8 minutes
  • Broke unit tests? 11 minutes
  • Broke normal integration tests? 28 minutes
  • Broke test under valgrind? 50 minutes
  • Full tests under 2 hours

Changelog-None: CI only

It's timing out after 2 hours sometimes: this now make it finish in 53
minutes.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…f random delays.

Sometimes this times out after 30 minutes.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Usually downloading and installing takes 90 seconds.  But sometimes it
takes an hour!  Use caching for this, to keep it consistent.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
.github/scripts/setup.sh does this already, *and* it uses the cache now.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
I noticed this line causing a delay; ChatGPT thinks NSS name lookup.
I've removed the useradd line altogether.

I also install eatmydata first, to try to speed the other installs.

This drops the install step from 1m45 to about 30 seconds.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
On the GH action view I can only see "Compile CLN compile-c" which is not enough!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@rustyrussell rustyrussell force-pushed the guilt/ci-even-faster branch 2 times, most recently from 959987a to 002a5d7 Compare February 27, 2026 23:20
Only do it when the tcp_capture fixture is invoked, which is only for one test.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
287abfb "ci: Add a simple plugin to
report test results to our falkiness tracker" slowed our integration
tests to a crawl: out 6-way gcc integration tests should have taken 20
minutes, but were taking 1hr 24 minutes, and some runs were timing out
altogether.

I cannot reach the server, seems it is down.  But tracking flakiness
is rarely useful, so I am disabling this.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@rustyrussell rustyrussell merged commit d73b756 into ElementsProject:master Feb 28, 2026
42 of 46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant