Skip to content

ci: cover btc-embedded + dash-spv-embedded, un-gate qt build, add BTC smoke#45

Open
frstrtr wants to merge 1 commit into
masterfrom
ci/extension-multi-branch
Open

ci: cover btc-embedded + dash-spv-embedded, un-gate qt build, add BTC smoke#45
frstrtr wants to merge 1 commit into
masterfrom
ci/extension-multi-branch

Conversation

@frstrtr
Copy link
Copy Markdown
Owner

@frstrtr frstrtr commented May 24, 2026

Summary

CI extension to plug three coverage gaps flagged in the ci-steward reassignment:

  • Triggerspush and pull_request now include btc-embedded and dash-spv-embedded alongside master/windows-build/service-update. Direct pushes to those feature branches previously ran no CI; only PRs targeting master triggered (and PR Dash mainnet readiness: embedded GBT + Phase C complete + interop fixes #43 had been open 30+ days under that limitation).
  • qt-webengine — drops the blanket if: false. Configure + Build steps now run on every CI invocation, so any API breakage in PageEmbedded::destroyView or its Qt deps fails compile and gates the merge. The mount/destroy×100 runtime step keeps the known QtWebEngine 6.4.2 + GPU-less-runner SIGSEGV from blocking by marking it continue-on-error: true — when Ubuntu PPA eventually ships Qt 6.6+ or a self-hosted runner lands, drop that flag to re-promote it to gating.
  • btc-linux — new job that builds the c2pool-btc target as a smoke. Gated to refs where btc-embedded is involved (push ref, PR head, or PR base), so it's a no-op on master itself (the BTC sources don't exist there yet) and activates as soon as this workflow lands on btc-embedded via merge. Until now, BTC had zero automated coverage on any commit.

Deferred (out of scope, follow-up PR on btc-embedded)

  • src/impl/btc/test/share_test.cppadd_subdirectory(test) is commented out in src/impl/btc/CMakeLists.txt because the test still references LTC types; revival is owned by the btc-heap-opt arc.
  • src/impl/btc/test/template_parity_test.cpp — the file header claims a standalone g++ build works, but transitive includes pull in nlohmann_json / leveldb_store / core/log. Needs a proper CMake target rather than ad-hoc compile flags in CI.

Test plan

  • CI runs on this PR — Linux / macOS / Windows / web-static / qt-webengine all green (qt-webengine build gating, runtime continue-on-error). btc-linux skipped (gate off, since PR base is master, head is ci/extension-multi-branch).
  • After merge, integrator decides whether to back-port the build.yml changes onto btc-embedded and dash-spv-embedded so direct pushes to those branches start triggering CI immediately, or wait for the next master-merge flow.
  • Once on btc-embedded: the btc-linux gate flips active and cmake --build --target c2pool-btc runs on every push/PR there.

Coordination

Do not merge without integrator sign-off (per [handoff] policy).

- push/PR triggers now cover btc-embedded and dash-spv-embedded.
  Previously only PRs to master triggered CI on those branches; direct
  pushes to either branch had no coverage at all.

- qt-webengine job no longer gated by `if: false`. Configure + Build
  steps run unconditionally (catches PageEmbedded API breakage). The
  runtime mount/destroy x100 step is marked continue-on-error so the
  known QtWebEngine 6.4.2 + GPU-less-runner SIGSEGV doesn't block
  merges while still surfacing if a future Qt bump fixes it.

- New btc-linux job builds c2pool-btc target as smoke coverage for the
  embedded BTC SPV binary. Gated to runs where btc-embedded is the
  push ref, PR head, or PR base — no-op on master itself (where the
  BTC sources don't exist). Activates when this workflow flows into
  btc-embedded via merge. BTC previously had zero automated coverage.

share_test.cpp and template_parity_test.cpp under src/impl/btc/test/
are deferred to a follow-up on btc-embedded that re-enables
add_subdirectory(test) and gives template_parity proper CMake plumbing.
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