ci: Build with --enable-werror by default, and document exceptions#20182
ci: Build with --enable-werror by default, and document exceptions#20182maflcko merged 1 commit intobitcoin:masterfrom
Conversation
fanquake
left a comment
There was a problem hiding this comment.
Please fill out the PR description. What's the motivation for this change.
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
|
Concept ACK: deduplication is good |
|
The build system changes should go separate from the test/ci changes. Are they required or orthogonal? |
|
[@hebasto, correct me if I am wrong] @MarcoFalke, if they are going to go as separate PRs, then I think the CI change must go first and after that the |
CI changes require build system changes. |
configure.ac
Outdated
| dnl This is a temporary workaround. See https://github.com/bitcoin/bitcoin/pull/17919#issuecomment-674404780 | ||
| AX_CHECK_COMPILE_FLAG([-Wunused-command-line-argument],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-command-line-argument"],,[[$CXXFLAG_WERROR]]) |
There was a problem hiding this comment.
When can this workaround be removed? It is not clear from the linked comment.
I think whenever -Wno-foo is added (silencing a class of warnings in Bitcoin Core code) that should link a PR that fixes those warnings or at least some concrete plan to ensure that the added -Wno-foo will not be forgotten and remain forever in configure.ac.
There was a problem hiding this comment.
Right, but we have no a PR with a fix now ((
|
ACK 3a409f6 |
b9e778f to
bd09b7b
Compare
bd09b7b to
2ca5156
Compare
|
@fanquake @practicalswift @vasild @MarcoFalke Mind (re)reviewing this PR (at the early stage of 22.0 cycle)? |
|
cr ACK 2ca5156: patch looks correct! |
Build system changes. i.e. the first commit, has been split out into a separated pr #20544. |
|
To resolve the dependency tangle with #20544 I think that:
|
Something similar was in my mind, so done. |
|
@MarcoFalke the assigned label could be switched from "Build system" to "Tests" now, right? |
maflcko
left a comment
There was a problem hiding this comment.
Not sure if this makes sense by itself in the current form. I failed to reproduce the compile failures locally.
|
Updated cbb234c -> 0e2d9ef (pr20182.10 -> pr20182.11):
|
vasild
left a comment
There was a problem hiding this comment.
ACK 0e2d9ef
I am fine with NO_WERROR=1 in some of the .sh files as long as those files did not contain --enable-werror in their BITCOIN_CONFIG before this PR. I.e. they did not use werror before this PR and will not use it after this PR either.
Surely, the less NO_WERROR=1 the better :)
| export RUN_SECURITY_TESTS="true" | ||
| export GOAL="deploy" | ||
| export BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests --without-boost-process" | ||
| export NO_WERROR=1 |
There was a problem hiding this comment.
I haven't tried this one yet. What is the error here?
There was a problem hiding this comment.
https://cirrus-ci.com/task/6268532532969472
script/interpreter.cpp: In function ‘bool EvalChecksig(const valtype&, const valtype&, prevector<28, unsigned char>::const_iterator, prevector<28, unsigned char>::const_iterator, ScriptExecutionData&, unsigned int, const BaseSignatureChecker&, SigVersion, ScriptError*, bool&)’:
script/interpreter.cpp:429:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1plus: some warnings being treated as errors
|
ACK 0e2d9ef 👈 Show signature and timestampSignature: Timestamp of file with hash |
|
Updated 0e2d9ef -> 2f6fe4e (pr20182.11 -> pr20182.12, diff):
|
|
cr ACK 2f6fe4e: patch looks correct |
|
re-ACK 2f6fe4e 🏏 Show signature and timestampSignature: Timestamp of file with hash |
Github-Pull: bitcoin#20182 Rebased-From: 2f6fe4e
55e941f test: Fix intermittent feature_taproot issue (MarcoFalke) 681f728 ci: Build with --enable-werror by default, and document exceptions (Hennadii Stepanov) 89426c4 ci: Fix macOS brew install command (Hennadii Stepanov) Pull request description: This backports a few changes to fix CI failures we are seeing with the 0.21 branch. Backports #21663, this might be the easiest way to fix the macOS CI failures we're seeing. i.e in #22569. The underlying issue is that the older CI images are using a version of brew that without running `brew update` first, is trying to download packages like Boost, from bintray (which no-longer works). This also includes #20182, as by fixing macOS failure, via running `brew upgrade`, we end up using a newer version of miniupnpc, which emits a GNU extension related warning, and causes the build to fail, because we use `-Werror`. Backporting #20535 should fix #22581. ACKs for top commit: hebasto: ACK 55e941f, I verified changes by backporting locally. Tree-SHA512: 3ab2c5c73c707d0f5b862264f3a0179cdeee30ae55aae872f3c3e0bb81d71a5027c39ba830210c99a21f98cc86c4167c4f215e24d1a8891ec79ce512debf82df
Needed to remain compatible with backport commit 681f728 Github-Pull: bitcoin#20182 Rebased-From: 2f6fe4e

This PR prevents introducing of new compiler warnings in the master branch, e.g., #19986, #20162.