Skip to content

CI: Fix Win64 native build, TSAN and CentOS 8 test #1393

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Feb 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,10 +186,10 @@ task:
FILE_ENV: "./ci/test/00_setup_env_win64.sh"

task:
name: '32-bit + dash [gui] [CentOS 8]'
name: '32-bit + dash [gui] [Rocky 8]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: quay.io/centos/centos:stream8
image: quay.io/rockylinux/rockylinux:8
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
PACKAGE_MANAGER_INSTALL: "yum install -y"
Expand All @@ -206,10 +206,10 @@ task:
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh"

task:
name: '[TSan, depends, gui] [jammy]'
name: '[TSan, depends, gui] [2404]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
image: ubuntu:24.04
cpu: 6 # Increase CPU and Memory to avoid timeout
memory: 24G
env:
Expand Down
24 changes: 24 additions & 0 deletions build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,40 @@
</PropertyGroup>
<ItemGroup>
<ClCompile Include="..\..\src\asset.cpp" />
<ClCompile Include="..\..\src\blockfilter.cpp" />
<ClCompile Include="..\..\src\chain.cpp" />
<ClCompile Include="..\..\src\confidential_validation.cpp" />
<ClCompile Include="..\..\src\consensus/tx_verify.cpp" />
<ClCompile Include="..\..\src\dbwrapper.cpp" />
<ClCompile Include="..\..\src\deploymentstatus.cpp" />
<ClCompile Include="..\..\src\dynafed.cpp" />
<ClCompile Include="..\..\src\flatfile.cpp" />
<ClCompile Include="..\..\src\index/base.cpp" />
<ClCompile Include="..\..\src\index/blockfilterindex.cpp" />
<ClCompile Include="..\..\src\index/coinstatsindex.cpp" />
<ClCompile Include="..\..\src\mainchainrpc.cpp" />
<ClCompile Include="..\..\src\node\blockstorage.cpp" />
<ClCompile Include="..\..\src\node\coinstats.cpp" />
<ClCompile Include="..\..\src\node\interfaces.cpp" />
<ClCompile Include="..\..\src\node\ui_interface.cpp" />
<ClCompile Include="..\..\src\pegins.cpp" />
<ClCompile Include="..\..\src\pow.cpp" />
<ClCompile Include="..\..\src\policy/fees.cpp" />
<ClCompile Include="..\..\src\policy/packages.cpp" />
<ClCompile Include="..\..\src\policy/rbf.cpp" />
<ClCompile Include="..\..\src\policy/settings.cpp" />
<ClCompile Include="..\..\src\primitives\bitcoin\transaction.cpp" />
<ClCompile Include="..\..\src\primitives\pak.cpp" />
<ClCompile Include="..\..\src\rpc\server.cpp" />
<ClCompile Include="..\..\src\script\sigcache.cpp" />
<ClCompile Include="..\..\src\shutdown.cpp" />
<ClCompile Include="..\..\src\signet.cpp" />
<ClCompile Include="..\..\src\sync.cpp" />
<ClCompile Include="..\..\src\timedata.cpp" />
<ClCompile Include="..\..\src\txdb.cpp" />
<ClCompile Include="..\..\src\txmempool.cpp" />
<ClCompile Include="..\..\src\validation.cpp" />
<ClCompile Include="..\..\src\validationinterface.cpp" />
<ClCompile Include="..\..\src\versionbits.cpp" />
<ClCompile Include="..\..\src\wallet\bdb.cpp" />
<ClCompile Include="..\..\src\wallet\rpc\elements.cpp" />
Expand All @@ -36,6 +54,12 @@
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
</ProjectReference>
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
</ProjectReference>
<ProjectReference Include="..\libelementssimplicity\libelementssimplicity.vcxproj">
<Project>{abae25f0-d700-46e1-9ef6-5d6ddfcf8b26}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
Expand Down
5 changes: 5 additions & 0 deletions build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@
<ClCompile Include="..\..\src\uint256.cpp" />
<ClCompile Include="..\..\src\util\strencodings.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libelementssimplicity\libelementssimplicity.vcxproj">
<Project>{abae25f0-d700-46e1-9ef6-5d6ddfcf8b26}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="..\common.vcxproj" />
Expand Down
13 changes: 12 additions & 1 deletion build_msvc/test_bitcoin/test_bitcoin.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,18 @@
<ClCompile Include="..\..\src\test\main.cpp" />
<ClCompile Include="..\..\src\test\util\*.cpp" />
<ClCompile Include="..\..\src\wallet\test\*_fixture.cpp" />
<ClCompile Include="..\..\src\wallet\test\*_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\coinselector_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\db_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\init_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\ismine_tests.cpp" />
<!-- Exclude psbt_wallet_tests.cpp from the build -->
<!-- <ClCompile Include="..\..\src\wallet\test\psbt_wallet_tests.cpp" /> -->
<ClCompile Include="..\..\src\wallet\test\scriptpubkeyman_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\spend_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_crypto_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\walletdb_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_transaction_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\util.cpp" />
<ClCompile Include="..\..\src\primitives\bitcoin\transaction.cpp" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_i686_centos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8

export HOST=i686-pc-linux-gnu
export CONTAINER_NAME=ci_i686_centos
export DOCKER_NAME_TAG=quay.io/centos/centos:stream8
export DOCKER_NAME_TAG=quay.io/rockylinux/rockylinux:8
export DOCKER_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python3 python3-zmq which patch lbzip2 xz procps-ng dash rsync coreutils bison"
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports"
Expand Down
8 changes: 4 additions & 4 deletions ci/test/00_setup_env_native_tsan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
export LC_ALL=C.UTF-8

export CONTAINER_NAME=ci_native_tsan
export DOCKER_NAME_TAG=ubuntu:22.04
export PACKAGES="clang llvm libc++abi-dev libc++-dev python3-zmq"
export DEP_OPTS="CC=clang CXX='clang++ -stdlib=libc++'"
export DOCKER_NAME_TAG="docker.io/ubuntu:24.04"
export PACKAGES="clang-18 llvm-18 libclang-rt-18-dev libc++abi-18-dev libc++-18-dev python3-zmq"
export DEP_OPTS="CC=clang-18 CXX='clang++-18 -stdlib=libc++'"
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread CC=clang CXX='clang++ -stdlib=libc++'"
export BITCOIN_CONFIG="--enable-zmq CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' CXXFLAGS='-g' --with-sanitizers=thread"
2 changes: 1 addition & 1 deletion ci/test/04_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ if [ -n "$DPKG_ADD_ARCH" ]; then
CI_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH"
fi

if [[ $DOCKER_NAME_TAG == *centos* ]]; then
if [[ $DOCKER_NAME_TAG == *centos* ]] || [[ $DOCKER_NAME_TAG == *rocky* ]]; then
${CI_RETRY_EXE} CI_EXEC dnf -y install epel-release
${CI_RETRY_EXE} CI_EXEC dnf -y --allowerasing install "$DOCKER_PACKAGES" "$PACKAGES"
elif [ "$CI_USE_APT_INSTALL" != "no" ]; then
Expand Down
2 changes: 1 addition & 1 deletion ci/test/05_before_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
fi

if [ -z "$NO_DEPENDS" ]; then
if [[ $DOCKER_NAME_TAG == *centos* ]]; then
if [[ $DOCKER_NAME_TAG == *centos* ]] || [[ $DOCKER_NAME_TAG == *rocky* ]]; then
# CentOS has problems building the depends if the config shell is not explicitly set
# (i.e. for libevent a Makefile with an empty SHELL variable is generated, leading to
# an error as the first command is executed)
Expand Down
8 changes: 4 additions & 4 deletions depends/packages/boost.mk
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package=boost
$(package)_version=1.77.0
$(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/$($(package)_version)/source/
$(package)_file_name=boost_$(subst .,_,$($(package)_version)).tar.bz2
$(package)_sha256_hash=fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854
$(package)_version=1.81.0
$(package)_download_path=https://archives.boost.io/release/$($(package)_version)/source/
$(package)_file_name=boost_$(subst .,_,$($(package)_version)).tar.gz
$(package)_sha256_hash=205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6

define $(package)_stage_cmds
mkdir -p $($(package)_staging_prefix_dir)/include && \
Expand Down
4 changes: 2 additions & 2 deletions depends/packages/xcb_proto.mk
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package=xcb_proto
$(package)_version=1.14.1
$(package)_version=1.15.2
$(package)_download_path=https://xorg.freedesktop.org/archive/individual/proto
$(package)_file_name=xcb-proto-$($(package)_version).tar.xz
$(package)_sha256_hash=f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3
$(package)_sha256_hash=7072beb1f680a2fe3f9e535b797c146d22528990c72f63ddb49d2f350a3653ed

define $(package)_config_cmds
$($(package)_autoconf)
Expand Down
5 changes: 4 additions & 1 deletion src/mapport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,11 @@ static bool ProcessUpnp()
struct UPNPUrls urls;
struct IGDdatas data;
int r;

#if MINIUPNPC_API_VERSION <= 17
r = UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, sizeof(lanaddr));
#else
r = UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, sizeof(lanaddr), nullptr, 0);
#endif
if (r == 1)
{
if (fDiscover) {
Expand Down