ci: fix coin-matrix guard path - #47
Merged
Merged
Conversation
The source-presence guard checked src/c2pool/main_<coin>.cpp, but the on-disk directory contract is src/impl/<coin>/main_<coin>.cpp (confirmed against src/impl/dash/main_dash.cpp). The old path matched nothing, so the guard silently skipped all four coins — PR #45's matrix went green because every job no-op'd, not because anything built. Point the guard at src/impl/<coin>/main_<coin>.cpp so each coin's job activates when its split actually lands.
4 tasks
frstrtr
added a commit
that referenced
this pull request
Jun 16, 2026
Add the dgb OBJECT lib (target: dgb) to src/impl/dgb/CMakeLists.txt under COIN_DGB, mirroring the ltc OBJECT lib that the B1 surface was ported from. The B1 sharechain-verify surface (share_types/share/share_tracker/ share_check/share_messages/redistribute) is header-only, so b1_smoke.cpp is added as the sole compile unit, giving the surface a whole-target build gate (per-coin dgb smoke). Real pool-layer TUs replace it as they land. Per-coin isolation invariant preserved: dgb-tree-only scaffolding, no change to the per-coin source-presence guards (PR #47).
frstrtr
added a commit
that referenced
this pull request
Jul 6, 2026
Add dgb-phase-b-smoke.yml + tests/gates/dgb_phase_b_smoke.sh: a network-free per-coin smoke that builds the DGB Phase-B pillar targets (block assembly, witness commitment, mempool ingest, won-block reconstruction, header ingest/sample-build, share) and runs their gtest suites by name via ctest -R, with a false-green empty-suite guard. Presence-gated on the DGB sources so it neutral-skips on branches/coins lacking them. Fenced: no coin-matrix.yml / build.yml / CMake edits; PR #47 source guard untouched.
frstrtr
added a commit
that referenced
this pull request
Jul 6, 2026
The Phase-B smoke gate configured with -DBUILD_TESTING=ON only; the dgb test subtree is gated on if(COIN_DGB) (src/impl/dgb/CMakeLists.txt:54), so the pillar targets (dgb_share_test etc.) never existed and the build failed with "No rule to make target dgb_share_test". Per the CMake contract (dgb/CMakeLists.txt:17-20) COIN_DGB is required to build the test targets; add it to the gate configure. No CMake/build.yml/coin-matrix edit — PR #47 source guard untouched.
frstrtr
added a commit
that referenced
this pull request
Jul 6, 2026
* ci(dgb): Phase-B per-coin smoke — build+ctest pillar gtests Add dgb-phase-b-smoke.yml + tests/gates/dgb_phase_b_smoke.sh: a network-free per-coin smoke that builds the DGB Phase-B pillar targets (block assembly, witness commitment, mempool ingest, won-block reconstruction, header ingest/sample-build, share) and runs their gtest suites by name via ctest -R, with a false-green empty-suite guard. Presence-gated on the DGB sources so it neutral-skips on branches/coins lacking them. Fenced: no coin-matrix.yml / build.yml / CMake edits; PR #47 source guard untouched. * ci(dgb): configure smoke with -DCOIN_DGB=ON so test subtree builds The Phase-B smoke gate configured with -DBUILD_TESTING=ON only; the dgb test subtree is gated on if(COIN_DGB) (src/impl/dgb/CMakeLists.txt:54), so the pillar targets (dgb_share_test etc.) never existed and the build failed with "No rule to make target dgb_share_test". Per the CMake contract (dgb/CMakeLists.txt:17-20) COIN_DGB is required to build the test targets; add it to the gate configure. No CMake/build.yml/coin-matrix edit — PR #47 source guard untouched. --------- Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
One-line fix to the source-presence guard in
.github/workflows/coin-matrix.yml.The guard checked for
src/c2pool/main_<coin>.cpp, but the actual on-diskdirectory contract is
src/impl/<coin>/main_<coin>.cpp(confirmed againstsrc/impl/dash/main_dash.cppin the dash session). The wrong path matchednothing on every branch, so the guard set
exists=0for all four coins andsilently skipped every build/smoke step.
Why it matters
PR #45's coin-matrix went green by accident: every job no-op'd through
the guard rather than actually building anything. The matrix was providing
zero real coverage. With the corrected path, each coin's job activates the
moment its
src/impl/<coin>/main_<coin>.cppsplit lands, which is the wholepoint of the forward-compatible guard.
No build behavior changes on master today (the splits haven't landed yet),
so this stays green until a coin's source is actually present — at which
point it will start building for real.
Scope