Skip to content

ZEUS: fix CI on zeus-0.2.7 - #4

Merged
kaloudis merged 4 commits into
zeus-0.2.7from
zeus-0.2.7-ci
Oct 8, 2026
Merged

kaloudis merged 4 commits into
zeus-0.2.7from
zeus-0.2.7-ci

Conversation

@kaloudis

@kaloudis kaloudis commented Oct 7, 2026 •

Copy link
Copy Markdown

CI on zeus-0.2.7 has failed on every run, including this PR's base 4371384d and #3. The causes are the fork's CI setup and dependency drift; none come from the ZEUS patches' logic.

Changes

  • rustfmt (9e25a29b): cargo fmt with 1.63.0 (the CI toolchain). The LSPS7 client patch was unformatted, and v0.2.7 itself carries three unformatted backport hunks. Whitespace and import order only.
  • linting (5bddbc2d, 1c3b7e95): clippy ran on stable, and each release adds lints the v0.2.x code fails (1.98.1 and 1.99 fail on different ones). Every stable/beta job now uses 1.96.1, the zeus-vls rustc (beta also broke check_docs and, on rustc 1.100, the crates.io lightning 0.0.125 that lightning-tests builds). One test-only lint, clippy::manual_str_repeat (macro_logger.rs tests from a backport), is added to check-lint.sh's test allow list instead of changing upstream code.
  • build-tx-sync 1.75.0 (66281840): quinn 0.11.12 needs quinn-proto 0.11.18, so the existing quinn-proto pin no longer resolved; quinn is pinned to 0.11.11 first. hyper-util 0.1.21 is edition 2024, so it is pinned to 0.1.20.
  • Runners (1c3b7e95): upstream's self-hosted and debian-trixie jobs never started here and failed after 24 hours. They now run on ubuntu-latest. The fuzz job installs binutils-dev and libunwind-dev for honggfuzz. The coverage job is removed because it only uploaded to upstream's Codecov project with upstream's token. semver-checks is removed: it compares against crates.io's lightning 0.2.7, and the fork changes public API on purpose (Bolt11InvoiceParameters.route_hints_override). check_commits rebased onto upstream/<base>, which does not exist for fork branches; it now checks each commit against origin/<base>.

Local checks

  • cargo +1.63.0 fmt --check is clean, in the root and in lightning-tests.
  • ci/check-lint.sh on 1.96.1 exits 0.
  • ci/ci-tx-sync-tests.sh on 1.75.0 with -D warnings passes the cargo check steps for all four features. The tests need bitcoind and electrs, which CI provides.

All 33 checks passed on the pre-squash head 25d66cce, which has the same tree as 1c3b7e95 (the last two commits were squashed). Build jobs take 1.5 to 2.8 hours on hosted runners; fuzz about 42 minutes.

cargo fmt --check failed on zeus-0.2.7: the LSPS7 client patch was not
formatted, and v0.2.7 itself carries three unformatted backport hunks
(channelmonitor.rs, chanmon_update_fail_tests.rs, functional_tests.rs).
Whitespace and import order only.
macro_logger.rs's log-truncation tests (from a v0.2.x backport) build
long strings with iter::repeat().take().collect(), which clippy 1.93+
rejects. Allowed with the other test-only lints instead of changing
upstream code.
quinn 0.11.12 requires quinn-proto 0.11.18, so the existing quinn-proto
0.11.15 pin no longer resolved; pin quinn 0.11.11 first. hyper-util
0.1.21 is edition 2024, which cargo 1.75 cannot parse; pin 0.1.20.
Upstream runs ext-test, the Linux build matrix, coverage, check_docs,
fuzz and check_commits on its self-hosted runners and semver-checks on
a debian-trixie runner. This repository has neither, so those jobs
waited 24 hours and failed. They run on ubuntu-latest; the fuzz job
installs binutils-dev and libunwind-dev, which honggfuzz needs to
build there.

Every stable and beta job uses rustc 1.96.1, the rustc zeus-vls builds
with (bump both together), next to the MSRV jobs. The floating
toolchains broke a fixed v0.2.x tree for reasons unrelated to the
code: new clippy lints, beta rustdoc no longer resolving a std
intra-doc link in lightning-block-sync, and rustc 1.100 failing to
build the crates.io lightning 0.0.125 that lightning-tests uses for
upgrade tests.

Removed: coverage, which only uploaded to upstream's Codecov project
with upstream's token, and semver-checks, which compares against
crates.io's lightning 0.2.7 and cannot pass because the fork changes
public API on purpose (Bolt11InvoiceParameters.route_hints_override);
the fork is consumed by git rev. check_commits rebased onto
upstream/<base>, which does not exist for fork branches; it now checks
each commit against origin/<base>.
@kaloudis
kaloudis merged commit 250d6e1 into zeus-0.2.7 Oct 8, 2026
33 checks passed
@kaloudis
kaloudis deleted the zeus-0.2.7-ci branch October 8, 2026 03:20
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