-
Notifications
You must be signed in to change notification settings - Fork 37.7k
ci: Add CentOS 7 build #17635
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
ci: Add CentOS 7 build #17635
Conversation
|
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: diversity in testing is good |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm new to the bitcoin codebase but this generally LGTM.
Concept ACK |
986aee8
to
8f62ec6
Compare
Rebased after #17634 has been merged. |
8f62ec6
to
d88782e
Compare
I think you should do a depends build here. While the binary (and the tests) must run on CentOS 7 (this was a constraint on the libc version in #17538), it doesn't need to build with the ancient library versions provided there: CentOS 7 does not put a restriction on our minimum dependency versions. |
This also implicitly restricts the minimum supported g++ version to 4.8.5, complicating #16684 in the future. But I think we can worry about that then (maybe there's a way to install a newer compiler, no need to hold this up now). |
I have encountered a |
But then, what is the point of using CentOs 7 to get all the old packages (of boost, etc) when a depends build is done anyway? |
I don't know. Some of the package versions make sense, for Qt even recent (5.9.7 is from last year), but In the case of libevent the version is absurdly old. |
We mostly had issues with compiling against older versions of boost (and qt). If the trusty run is eventually removed, we should have something else to run against an old version of boost. |
yes, the boost version is OK; and I don't think we can do a depends build without boost at this point aj on IRC commented something about "software collections", could this be used to install a newer version of libevent only? |
https://www.softwarecollections.org/en/scls/?search=libevent ... nothing. |
ACK d88782e |
A nice follow up (either a new commit or pr) would be to adjust the readme and the list of packages to only the needed ones: |
CentOS / Fedora has only one |
ACK d88782e. |
Co-authored-by: Emil Engler <me@emilengler.com>
d88782e
to
711e044
Compare
ACK 711e044 🚠 Show signature and timestampSignature:
Timestamp of file with hash |
711e044 ci: Remove trusty build (Hennadii Stepanov) 7f3ae22 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix #17634.~ Also trusty build has been removed for the following reasons: - #17628 (comment): > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - #17635 (comment): > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close #17628 ACKs for top commit: MarcoFalke: ACK 711e044 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
711e044 ci: Remove trusty build (Hennadii Stepanov) 7f3ae22 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix bitcoin#17634.~ Also trusty build has been removed for the following reasons: - bitcoin#17628 (comment): > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - bitcoin#17635 (comment): > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close bitcoin#17628 ACKs for top commit: MarcoFalke: ACK 711e044 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
ACK After merge. I actually think this can help us more confidently bump the C++ version in the future (probably will require bumping to CentOS 8) |
711e044 ci: Remove trusty build (Hennadii Stepanov) 7f3ae22 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix bitcoin#17634.~ Also trusty build has been removed for the following reasons: - bitcoin#17628 (comment): > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - bitcoin#17635 (comment): > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close bitcoin#17628 ACKs for top commit: MarcoFalke: ACK 711e044 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies.
Currently, CentOS 7 has:
Please note that this PR is based on the bugfix #17634.Also trusty build has been removed for the following reasons:
Close #17628