Skip to content

Commit ee24e55

Browse files
authored
ci(dgb): add COIN_DGB +AUX_DOGE=ON build arm (phase DA seam coverage) (#312)
#310 landed the -DAUX_DOGE opt-in seam (option + add_compile_definitions in src/impl/dgb/CMakeLists.txt; #ifdef AUX_DOGE in coin/node.hpp) but nothing in CI exercises the flag-ON path, so the dual-parent stretch seam could rot dark between now and M3. Add a dedicated coin-dgb-auxdoge job that configures with -DCOIN_DGB=ON -DAUX_DOGE=ON and builds the c2pool-dgb binary, so the #ifdef AUX_DOGE seam is compiled on every PR. Default build (flag OFF) is unchanged and still covered by the linux + dgb-smoke jobs. Workflow file only; no source or shared-base touch. Stacked on dgb/ci-fix-build-yml-conflict-markers (#311) because that is the only clean build.yml base while master CI is red; rebase to master once #311 lands. Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
1 parent 2ac98be commit ee24e55

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -707,5 +707,67 @@ jobs:
707707
name: windows-x86_64
708708
path: c2pool-*-windows-x86_64.zip*
709709

710+
# ════════════════════════════════════════════════════════════════════════════
711+
# COIN_DGB + AUX_DOGE=ON (dual-parent stretch seam, phase DA) — keeps the
712+
# opt-in seam landed in #310 from rotting dark: a configure flag with no CI
713+
# coverage drifts silently. This arm configures c2pool-dgb with the flag ON
714+
# so the node.hpp #ifdef AUX_DOGE seam is compiled on every PR. Default build
715+
# (flag OFF) is unchanged and still covered by the linux + dgb-smoke jobs.
716+
# ════════════════════════════════════════════════════════════════════════════
717+
coin-dgb-auxdoge:
718+
name: COIN_DGB +AUX_DOGE Linux x86_64
719+
runs-on: ubuntu-24.04
720+
steps:
721+
- uses: actions/checkout@v6
722+
723+
- name: Install system dependencies
724+
run: |
725+
sudo apt-get update -qq
726+
sudo apt-get install -y --no-install-recommends \
727+
g++ cmake make libleveldb-dev libsecp256k1-dev
728+
729+
- uses: actions/setup-python@v6
730+
with: { python-version: 3.12 }
731+
732+
- name: Install Conan 2
733+
run: pip install "conan>=2.0,<3.0"
734+
735+
- name: Detect Conan profile
736+
run: |
737+
conan profile detect --force
738+
sed -i 's/compiler.cppstd=.*/compiler.cppstd=20/' "$(conan profile path default)"
739+
740+
- name: Restore Conan cache
741+
uses: actions/cache@v5
742+
with:
743+
path: ~/.conan2
744+
key: conan2-ubuntu24-gcc13-dgb-auxdoge-${{ hashFiles('conanfile.txt') }}
745+
746+
- name: Conan install
747+
run: conan install . --build=missing --output-folder=build_dgb_auxdoge --settings=build_type=Release
748+
749+
- name: Configure (-DCOIN_DGB=ON -DAUX_DOGE=ON)
750+
run: cmake -S . -B build_dgb_auxdoge -DCMAKE_TOOLCHAIN_FILE=build_dgb_auxdoge/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DCOIN_DGB=ON -DAUX_DOGE=ON
751+
752+
- name: Build c2pool-dgb binary (AUX_DOGE seam ON)
753+
run: cmake --build build_dgb_auxdoge --target c2pool-dgb -j$(nproc)
754+
755+
- name: Smoke test (--help)
756+
run: |
757+
BIN=build_dgb_auxdoge/src/c2pool/c2pool-dgb
758+
file "$BIN"
759+
"$BIN" --help 2>&1 | head -5 || true
760+
761+
- name: Upload build artifacts on failure
762+
if: failure()
763+
uses: actions/upload-artifact@v7
764+
with:
765+
name: coin-dgb-auxdoge-fail
766+
path: |
767+
build_dgb_auxdoge/CMakeFiles/CMakeOutput.log
768+
build_dgb_auxdoge/CMakeFiles/CMakeError.log
769+
retention-days: 7
770+
if-no-files-found: ignore
771+
710772
# Releases are built and published manually (not via CI).
711773
# See installer/ for packaging scripts (DMG, ZIP, Inno Setup).

0 commit comments

Comments
 (0)