Page MenuHomePhabricator

[Chronik] Add `build-chronik` to CI builds
ClosedPublic

Authored by tobias_ruck on Jul 5 2022, 15:05.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC5eabea5d08b5: [Chronik] Add `build-chronik` to CI builds
Summary

Currently only runs the target check-bitcoinsuite with BUILD_BITCOIN_CHRONIK=on. Additional targets building and testing the entire thing will be added in the future.

Test Plan

contrib/teamcity/build-configurations.py build-chronik

Diff Detail

Repository
rABC Bitcoin ABC
Branch
chronik-build-config
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 19562
Build 38843: Build Diff
Build 38842: arc lint + arc unit

Event Timeline

Rename to build-chronik because at the end we want to build it and run the tests in the same CI target

tobias_ruck retitled this revision from [Chronik] Add `check-chronik` to CI builds to [Chronik] Add `build-chronik` to CI builds.Jul 5 2022, 15:14
tobias_ruck edited the summary of this revision. (Show Details)
tobias_ruck edited the test plan for this revision. (Show Details)

Tail of the build log:

-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: unit_test_framework 
-- Performing Test BOOST_REQUIRES_TEST_DYN_LINK
-- Performing Test BOOST_REQUIRES_TEST_DYN_LINK - Success
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.27.2", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.1", minimum required is "4.1.5")  
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-pthread (found version "3.6.1") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1n")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.61.0 (fe5b13d68 2022-05-18)`
-- Rust Toolchain: 1.61.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Found Rust: /root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.61.0") 
-- Configuring native build in /work/abc-ci-builds/build-chronik/native
-- Configuring done
-- Generating done
-- Build files have been written to: /work/abc-ci-builds/build-chronik
[1/2] cd /work && /usr/bin/cmake -E env CARGO_TARGET_DIR="/work/abc-ci-builds/build-chronik/chronik/cargo/build" CARGO_BUILD_RUSTC="/root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/rustc" /root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/cargo test --package bitcoinsuite-*
FAILED: chronik/CMakeFiles/check-bitcoinsuite-test 
cd /work && /usr/bin/cmake -E env CARGO_TARGET_DIR="/work/abc-ci-builds/build-chronik/chronik/cargo/build" CARGO_BUILD_RUSTC="/root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/rustc" /root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/cargo test --package bitcoinsuite-*
 Downloading crates ...
  Downloaded hex v0.4.3
  Downloaded hex-literal v0.3.4
    Blocking waiting for file lock on package cache
   Compiling hex v0.4.3
   Compiling hex-literal v0.3.4
   Compiling bitcoinsuite-core v0.1.0 (/work/chronik/bitcoinsuite-core)
    Finished test [unoptimized + debuginfo] target(s) in 1.13s
     Running unittests src/lib.rs (abc-ci-builds/build-chronik/chronik/cargo/build/debug/deps/bitcoinsuite_core-dc5886acfc935735)

running 2 tests
test hash::tests::test_ord ... ok
test hash::tests::test_debug ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests bitcoinsuite-core
error: test failed, to rerun pass '--doc'

Caused by:
  could not execute process `rustdoc --edition=2021 --crate-type lib --crate-name bitcoinsuite_core --test /work/chronik/bitcoinsuite-core/src/lib.rs -L dependency=/work/abc-ci-builds/build-chronik/chronik/cargo/build/debug/deps -L dependency=/work/abc-ci-builds/build-chronik/chronik/cargo/build/debug/deps --extern bitcoinsuite_core=/work/abc-ci-builds/build-chronik/chronik/cargo/build/debug/deps/libbitcoinsuite_core-ee7691ba0660c5ac.rlib --extern hex=/work/abc-ci-builds/build-chronik/chronik/cargo/build/debug/deps/libhex-ca898f32910be3e9.rlib --extern hex_literal=/work/abc-ci-builds/build-chronik/chronik/cargo/build/debug/deps/libhex_literal-20b5cde41b5dca88.so -C embed-bitcode=no --error-format human` (never executed)
[2/2] cd /work && /usr/bin/cmake -E env CARGO_TARGET_DIR="/work/abc-ci-builds/build-chronik/chronik/cargo/build" CARGO_BUILD_RUSTC="/root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/rustc" /root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/cargo clippy --package bitcoinsuite-* -- -D warnings
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Checking hex v0.4.3
    Checking bitcoinsuite-core v0.1.0 (/work/chronik/bitcoinsuite-core)
    Finished dev [unoptimized + debuginfo] target(s) in 1.25s
ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik failed with exit code 1

Explicitly specify CARGO_BUILD_RUSTDOC when running cargo to fix build

Tail of the build log:

-- Performing Test have_CXX__Wno_conditional_uninitialized - Success
-- Performing Test have_C__Wno_strict_prototypes
-- Performing Test have_C__Wno_strict_prototypes - Success
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Performing Test ENABLE_HWCRC32
-- Performing Test ENABLE_HWCRC32 - Success
-- Performing Test have_C__pedantic
-- Performing Test have_C__pedantic - Success
-- Performing Test have_C__Wshadow
-- Performing Test have_C__Wshadow - Success
-- Performing Test have_C__Wundef
-- Performing Test have_C__Wundef - Success
-- Performing Test have_C__Wno_unused_function
-- Performing Test have_C__Wno_unused_function - Success
-- Performing Test have_C__Wno_overlength_strings
-- Performing Test have_C__Wno_overlength_strings - Success
-- Performing Test have_C__std_c89
-- Performing Test have_C__std_c89 - Success
-- Performing Test have_C__Wno_long_long
-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: event 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: filesystem system 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: unit_test_framework 
-- Performing Test BOOST_REQUIRES_TEST_DYN_LINK
-- Performing Test BOOST_REQUIRES_TEST_DYN_LINK - Success
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.27.2", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.1", minimum required is "4.1.5")  
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-pthread (found version "3.6.1") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1n")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.61.0 (fe5b13d68 2022-05-18)`
-- Rust Toolchain: 1.61.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Found Rust: /root/.rustup/toolchains/1.61.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.61.0") 
CMake Error at chronik/CMakeLists.txt:22 (find_program_or_fail):
  Unknown CMake command "find_program_or_fail".


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-chronik/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-chronik/CMakeFiles/CMakeError.log".
Build build-chronik failed with exit code 1

Add missing cmake import @bot build-chronik

This revision is now accepted and ready to land.Jul 5 2022, 16:18