Summarizing #31476, the CentOS CI task has been configuring a build with python 3.9
(the latest version in the Stream 9 core repo) which is below the minimum version of 3.10
which resulted in a warning being appended to the configure_warnings
cmake variable. https://github.com/bitcoin/bitcoin/blob/712cab3a8f8ad76db959337ddc35cb4c34cac388/CMakeLists.txt#L546-L553
This warning has been emitted by every CI run on CentOS1 since the minimum version was bumped. (#30527) But this has not resulted in CI failure, even though utils
and rpcauth
tests have been skipped. Making this matter a bit worse, we now also use a match statement in test/functional/combine_logs.py
, which results in a SyntaxError
since match
was introduced in python 3.10, I am not sure that this is all that important right now since combine_logs.py
only gets run if a functional test fails.
This branch makes the presence of configure_warnings
a FATAL_ERROR
if -DWERROR=ON
, it also makes an incompatible BDB version a configure_warning if -DWARN_INCOMPATIBLE_BDB=ON
.
This depends on #31593 which bumps CentOS to Stream 10, so marking it as draft for now.
Slightly outside the scope of this PR, but maybe not a big enough question to deserve its own issue: should failing to meet the minimum python version just be a warning if we start using syntax features and behavior that are only available in versions equal to or greater than the minimum?