Changeset View
Changeset View
Standalone View
Standalone View
contrib/teamcity/build-configurations.sh
Show First 20 Lines • Show All 89 Lines • ▼ Show 20 Lines | CMAKE_FLAGS=( | ||||
# This will trigger a segfault if the SSE4 implementation is selected for SHA256. | # This will trigger a segfault if the SSE4 implementation is selected for SHA256. | ||||
# Disabling the assembly works around the issue. | # Disabling the assembly works around the issue. | ||||
"-DCRYPTO_USE_ASM=OFF" | "-DCRYPTO_USE_ASM=OFF" | ||||
"-DENABLE_SANITIZERS=address" | "-DENABLE_SANITIZERS=address" | ||||
"-DCCACHE=OFF" | "-DCCACHE=OFF" | ||||
"-DCMAKE_C_COMPILER=clang" | "-DCMAKE_C_COMPILER=clang" | ||||
"-DCMAKE_CXX_COMPILER=clang++" | "-DCMAKE_CXX_COMPILER=clang++" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
run_test_bitcoin "with address sanitizer" | run_test_bitcoin "with address sanitizer" | ||||
# Libs and utils tests | # Libs and utils tests | ||||
ninja \ | ninja \ | ||||
check-bitcoin-qt \ | check-bitcoin-qt \ | ||||
check-bitcoin-seeder \ | check-bitcoin-seeder \ | ||||
check-bitcoin-util \ | check-bitcoin-util \ | ||||
ninja check-functional | ninja check-functional | ||||
;; | ;; | ||||
build-ubsan) | build-ubsan) | ||||
# Build with the undefined sanitizer, then run unit tests and functional tests. | # Build with the undefined sanitizer, then run unit tests and functional tests. | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DCMAKE_BUILD_TYPE=Debug" | "-DCMAKE_BUILD_TYPE=Debug" | ||||
"-DENABLE_SANITIZERS=undefined" | "-DENABLE_SANITIZERS=undefined" | ||||
"-DCCACHE=OFF" | "-DCCACHE=OFF" | ||||
"-DCMAKE_C_COMPILER=clang" | "-DCMAKE_C_COMPILER=clang" | ||||
"-DCMAKE_CXX_COMPILER=clang++" | "-DCMAKE_CXX_COMPILER=clang++" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
run_test_bitcoin "with undefined sanitizer" | run_test_bitcoin "with undefined sanitizer" | ||||
# Libs and utils tests | # Libs and utils tests | ||||
ninja \ | ninja \ | ||||
check-bitcoin-qt \ | check-bitcoin-qt \ | ||||
check-bitcoin-seeder \ | check-bitcoin-seeder \ | ||||
check-bitcoin-util \ | check-bitcoin-util \ | ||||
ninja check-functional | ninja check-functional | ||||
;; | ;; | ||||
build-tsan) | build-tsan) | ||||
# Build with the thread sanitizer, then run unit tests and functional tests. | # Build with the thread sanitizer, then run unit tests and functional tests. | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DCMAKE_BUILD_TYPE=Debug" | "-DCMAKE_BUILD_TYPE=Debug" | ||||
"-DENABLE_SANITIZERS=thread" | "-DENABLE_SANITIZERS=thread" | ||||
"-DCCACHE=OFF" | "-DCCACHE=OFF" | ||||
"-DCMAKE_C_COMPILER=clang" | "-DCMAKE_C_COMPILER=clang" | ||||
"-DCMAKE_CXX_COMPILER=clang++" | "-DCMAKE_CXX_COMPILER=clang++" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
run_test_bitcoin "with thread sanitizer" | run_test_bitcoin "with thread sanitizer" | ||||
# Libs and utils tests | # Libs and utils tests | ||||
ninja \ | ninja \ | ||||
check-bitcoin-qt \ | check-bitcoin-qt \ | ||||
check-bitcoin-seeder \ | check-bitcoin-seeder \ | ||||
check-bitcoin-util \ | check-bitcoin-util \ | ||||
ninja check-functional | ninja check-functional | ||||
;; | ;; | ||||
build-diff) | build-diff) | ||||
# Build, run unit tests and functional tests. | # Build, run unit tests and functional tests. | ||||
"${DEVTOOLS_DIR}"/build_cmake.sh | "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
# Unit tests | # Unit tests | ||||
run_test_bitcoin | run_test_bitcoin | ||||
run_test_bitcoin "with next upgrade activated" -phononactivationtime=1575158400 | run_test_bitcoin "with next upgrade activated" -phononactivationtime=1575158400 | ||||
# Libs and tools tests | # Libs and tools tests | ||||
# The leveldb tests need to run alone or they will sometimes fail with | # The leveldb tests need to run alone or they will sometimes fail with | ||||
# garbage output, see: | # garbage output, see: | ||||
Show All 10 Lines | build-diff) | ||||
# Functional tests | # Functional tests | ||||
ninja check-functional | ninja check-functional | ||||
ninja check-functional-upgrade-activated | ninja check-functional-upgrade-activated | ||||
;; | ;; | ||||
build-master) | build-master) | ||||
# Build, run unit tests and extended functional tests. | # Build, run unit tests and extended functional tests. | ||||
"${DEVTOOLS_DIR}"/build_cmake.sh | "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
# Unit tests | # Unit tests | ||||
run_test_bitcoin | run_test_bitcoin | ||||
run_test_bitcoin "with next upgrade activated" -phononactivationtime=1575158400 | run_test_bitcoin "with next upgrade activated" -phononactivationtime=1575158400 | ||||
# Libs and tools tests | # Libs and tools tests | ||||
# The leveldb tests need to run alone or they will sometimes fail with | # The leveldb tests need to run alone or they will sometimes fail with | ||||
# garbage output, see: | # garbage output, see: | ||||
Show All 15 Lines | case "$ABC_BUILD_NAME" in | ||||
build-secp256k1) | build-secp256k1) | ||||
# Enable all the features but endomorphism. | # Enable all the features but endomorphism. | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DSECP256K1_ENABLE_MODULE_ECDH=ON" | "-DSECP256K1_ENABLE_MODULE_ECDH=ON" | ||||
"-DSECP256K1_ENABLE_MODULE_MULTISET=ON" | "-DSECP256K1_ENABLE_MODULE_MULTISET=ON" | ||||
"-DSECP256K1_ENABLE_JNI=ON" | "-DSECP256K1_ENABLE_JNI=ON" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
ninja check-secp256k1 | ninja check-secp256k1 | ||||
# Repeat with endomorphism. | # Repeat with endomorphism. | ||||
CMAKE_FLAGS+=( | CMAKE_FLAGS+=( | ||||
"-DSECP256K1_ENABLE_ENDOMORPHISM=ON" | "-DSECP256K1_ENABLE_ENDOMORPHISM=ON" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
ninja check-secp256k1 | ninja check-secp256k1 | ||||
;; | ;; | ||||
build-without-cli) | build-without-cli) | ||||
# Build without bitcoin-cli | # Build without bitcoin-cli | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DBUILD_BITCOIN_CLI=OFF" | "-DBUILD_BITCOIN_CLI=OFF" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
ninja check-functional | ninja check-functional | ||||
;; | ;; | ||||
build-without-wallet) | build-without-wallet) | ||||
# Build without wallet and run the unit tests. | # Build without wallet and run the unit tests. | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DBUILD_BITCOIN_WALLET=OFF" | "-DBUILD_BITCOIN_WALLET=OFF" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
ninja check-bitcoin-qt | ninja check-bitcoin-qt | ||||
ninja check-functional | ninja check-functional | ||||
run_test_bitcoin "without wallet" | run_test_bitcoin "without wallet" | ||||
;; | ;; | ||||
build-without-zmq) | build-without-zmq) | ||||
# Build without Zeromq and run the unit tests. | # Build without Zeromq and run the unit tests. | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DBUILD_BITCOIN_ZMQ=OFF" | "-DBUILD_BITCOIN_ZMQ=OFF" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
ninja check-bitcoin-qt | ninja check-bitcoin-qt | ||||
ninja check-functional | ninja check-functional | ||||
run_test_bitcoin "without zmq" | run_test_bitcoin "without zmq" | ||||
;; | ;; | ||||
build-ibd) | build-ibd) | ||||
"${DEVTOOLS_DIR}"/build_cmake.sh | "${DEVTOOLS_DIR}"/build_cmake.sh | ||||
"${CI_SCRIPTS_DIR}"/ibd.sh -disablewallet -debug=net | "${CI_SCRIPTS_DIR}"/ibd.sh -disablewallet -debug=net | ||||
;; | ;; | ||||
build-ibd-no-assumevalid-checkpoint) | build-ibd-no-assumevalid-checkpoint) | ||||
"${DEVTOOLS_DIR}"/build_cmake.sh | "${DEVTOOLS_DIR}"/build_cmake.sh | ||||
"${CI_SCRIPTS_DIR}"/ibd.sh -disablewallet -assumevalid=0 -checkpoints=0 -debug=net | "${CI_SCRIPTS_DIR}"/ibd.sh -disablewallet -assumevalid=0 -checkpoints=0 -debug=net | ||||
;; | ;; | ||||
build-werror) | build-clang-10) | ||||
# Build with variable-length-array and thread-safety-analysis treated as errors. | |||||
# Use clang-10 for this build instead of the default clang-8. | # Use clang-10 for this build instead of the default clang-8. | ||||
# This allow for checking that no warning is introduced for newer versions | |||||
# of the compiler | |||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DENABLE_WERROR=ON" | |||||
"-DCMAKE_C_COMPILER=clang-10" | "-DCMAKE_C_COMPILER=clang-10" | ||||
"-DCMAKE_CXX_COMPILER=clang++-10" | "-DCMAKE_CXX_COMPILER=clang++-10" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
ninja \ | |||||
test_bitcoin \ | |||||
test_bitcoin-qt \ | |||||
test_bitcoin-seeder \ | |||||
secp256k1-tests \ | |||||
secp256k1-exhaustive_tests | |||||
# TODO do the same with the latest GCC | |||||
;; | ;; | ||||
build-autotools) | build-autotools) | ||||
# Ensure that the build using autotools is not broken | # Ensure that the build using autotools is not broken | ||||
"${DEVTOOLS_DIR}"/build_autotools.sh | "${DEVTOOLS_DIR}"/build_autotools.sh | ||||
make -j "${THREADS}" check | make -j "${THREADS}" check | ||||
;; | ;; | ||||
build-bench) | build-bench) | ||||
# Build and run the benchmarks. | # Build and run the benchmarks. | ||||
CMAKE_FLAGS=( | CMAKE_FLAGS=( | ||||
"-DBUILD_BITCOIN_WALLET=ON" | "-DBUILD_BITCOIN_WALLET=ON" | ||||
"-DSECP256K1_ENABLE_MODULE_ECDH=ON" | "-DSECP256K1_ENABLE_MODULE_ECDH=ON" | ||||
"-DSECP256K1_ENABLE_MODULE_MULTISET=ON" | "-DSECP256K1_ENABLE_MODULE_MULTISET=ON" | ||||
) | ) | ||||
CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh | CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${DEVTOOLS_DIR}"/build_cmake.sh --Werror | ||||
./src/bench/bitcoin-bench -printer=junit > junit_results_bench.xml | ./src/bench/bitcoin-bench -printer=junit > junit_results_bench.xml | ||||
ninja bench-secp256k1 | ninja bench-secp256k1 | ||||
;; | ;; | ||||
build-make-generator) | build-make-generator) | ||||
# Ensure that the build using cmake and the "Unix Makefiles" generator is | # Ensure that the build using cmake and the "Unix Makefiles" generator is | ||||
# not broken. | # not broken. | ||||
cd ${BUILD_DIR} | cd ${BUILD_DIR} | ||||
▲ Show 20 Lines • Show All 152 Lines • Show Last 20 Lines |