CI: use more optimized builds sometimes.
What changed, and why it matters
This commit only changes how the project's automated continuous integration (CI) tests are built. It turns off debug builds for some test configurations, enables more compiler optimization (-O3) for a couple of test runs, and removes one redundant clang test job. There is no change to the actual Core Lightning software that users run, and no security relevance is apparent.
No security action needed. Treat as routine CI maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch modifies .github/workflows/ci.yaml. It introduces a per-matrix DEBUG_BUILD variable so that –enable-debugbuild is omitted for sanitizer runs and -O3 compile jobs, and keeps it for normal gcc/clang compile jobs. It switches the postgres and splicing functional test jobs to use the compile-gcc-O3 build artifact instead of compile-gcc. It removes the standalone clang functional test job because clang is already exercised by the minimum-btc-version job. These are CI efficiency and coverage adjustments only.
Changed components
.github/workflows/ci.yamlInspect captured patch +8 / −9
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 77cb0231..89ba346e 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -116,19 +116,23 @@ jobs:
- CFG: compile-gcc
VALGRIND: 1
COMPILER: gcc
+ DEBUG_BUILD: --enable-debugbuild
- CFG: compile-gcc-O3
VALGRIND: 1
COMPILER: gcc
COPTFLAGS_VAR: COPTFLAGS="-O3 -Werror"
+ DEBUG_BUILD:
# While we're at it let's try to compile with clang
- CFG: compile-clang
VALGRIND: 1
COMPILER: clang
+ DEBUG_BUILD: --enable-debugbuild
- CFG: compile-clang-sanitizers
COMPILER: clang
ASAN: 1
UBSAN: 1
VALGRIND: 0
+ DEBUG_BUILD:
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -156,7 +160,7 @@ jobs:
COMPAT: 1
run: |
set -e
- ./configure --enable-debugbuild CC="$COMPILER" ${{ matrix.COPTFLAGS_VAR }}
+ ./configure ${{ matrix.DEBUG_BUILD }} CC="$COMPILER" ${{ matrix.COPTFLAGS_VAR }}
uv run make -j $(nproc) testpack.tar.gz
@@ -395,15 +399,10 @@ jobs:
TEST_DB_PROVIDER: sqlite3
COMPILER: gcc
TEST_NETWORK: regtest
- # While we're at it let's try to compile with clang
- - NAME: clang
- CFG: compile-clang
- TEST_DB_PROVIDER: sqlite3
- COMPILER: clang
- TEST_NETWORK: regtest
+ # We do a clang run, but with minimum BTC version, to avoid YA test run.
# And of course we want to test postgres too
- NAME: postgres
- CFG: compile-gcc
+ CFG: compile-gcc-O3
COMPILER: gcc
TEST_DB_PROVIDER: postgres
TEST_NETWORK: regtest
@@ -423,7 +422,7 @@ jobs:
EXPERIMENTAL_DUAL_FUND: 1
# And splicing!
- NAME: splicing
- CFG: compile-gcc
+ CFG: compile-gcc-O3
TEST_DB_PROVIDER: sqlite3
COMPILER: gcc
TEST_NETWORK: regtest
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.