cmake, ci: Migrate "test-each-commit" task#288
Conversation
fed140c to
37e2b42
Compare
|
Friendly ping @maflcko :) |
|
Do you need to explicitly disable Berkeley DB? Doesn't it default to off anyway? Also related, do we need to still install |
Yes we do. We use the Line 13 in e4f7e12 Hence, the command line
It seems you found an inconsistency in the master branch. It should either pass the Want to submit a PR to the main repository? |
Of course, makes sense.
Sure |
|
I compared the configure step output of the CI run linked in the PR description with a random run in the main repository and I couldn't find any differences. ACK 37e2b42 |
maflcko
left a comment
There was a problem hiding this comment.
lgtm, seems fine to merge, but I left a few questions
| # Run tests on commits after the last merge commit and before the PR head commit | ||
| # Use clang++, because it is a bit faster and uses less memory than g++ | ||
| git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && ./autogen.sh && CC=clang CXX=clang++ ./configure && make clean && make -j $(nproc) check && ./test/functional/test_runner.py -j $(( $(nproc) * 2 ))" ${{ env.TEST_BASE }} | ||
| git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && CC=clang CXX=clang++ cmake -B build --preset ci-linux -DBUILD_GUI=ON -DWITH_BDB=OFF -DWITH_ZMQ=OFF -DWITH_QRENCODE=ON -DWERROR=OFF && cmake --build build -j $(nproc) && ctest --test-dir build -j $(nproc) && ./build/test/functional/test_runner.py -j $(( $(nproc) * 2 ))" ${{ env.TEST_BASE }} |
There was a problem hiding this comment.
What is the point of using ci-linux here, when most settings are overridden anyway? Would it not be better to just list each setting here explicitly?
Also, what it the point of ci-common and ci-linux at all? All CI tasks are highly orthogonal, so creating the impression that the is common stuff among them seems odd?
There was a problem hiding this comment.
Also, what it the point of
ci-commonandci-linuxat all? All CI tasks are highly orthogonal, so creating the impression that the is common stuff among them seems odd?
In the past, these presets seemed useful for .github/workflows/cmake.yml, which is not a part of bitcoin#30454 though.
There was a problem hiding this comment.
Ok, I'd say that it may be best to remove CI-only code no longer used for now from 30454. Given that CI presets are exposed to real devs and real users, it may otherwise be confusing at best, no?
(No objection to keep them in a separate commit in a testing branch, if you find them useful, but not sure about adding them to 30454)
There was a problem hiding this comment.
Ok, I'd say that it may be best to remove CI-only code no longer used for now from 30454.
I'll do it during the next PR30454 branch update.
There was a problem hiding this comment.
What is the point of using
ci-linuxhere, when most settings are overridden anyway? Would it not be better to just list each setting here explicitly?
Done in the recent push.
I would say the more conservative approach is to enable bdb in CI rather than skipping the installation which if accepted on master would imply enabling it here too. Perhaps as an update if this gets merged. |
Migrate the "test-each-commit" task
|
Included changes from bitcoin#30542. |
|
@hebasto do you have a CI log I could take a quick scan of that has run the "test each commit" task? |
I'll push a dummy commit. |
| # Distributed under the MIT software license, see the accompanying | ||
| # file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
|
||
|
|
There was a problem hiding this comment.
The commit can be empty
(This way it can be merged, but it will be dropped on the next rebase/squash by itself)
There was a problem hiding this comment.
Right! I forgot about --allow-empty option :)
https://github.com/hebasto/bitcoin/actions/runs/10144199347/job/28047196932 |
Reverted back and ready for re-reviewing. |
|
reACK 5ecbd3f |
It was overlooked.
An example of the CI log: https://github.com/hebasto/bitcoin/actions/runs/10117122581/job/27981470109.