Task #5087
closedDrop support for Ubuntu 16.04 and CentOS 7
100%
Description
Ubuntu 20.04 will be released on April 23, 2020. Per platform policy, that means we can drop support for 16.04 and raise our minimum requirement to 18.04. Similarly, we should also drop CentOS 7 support and require CentOS 8 or later.
As a consequence, we can raise the minimum version of toolchain components and various other dependencies. I suggest the following:
gcc >= 7clang >= 5boost >= 1.65.1openssl >= 1.1.1
Potentially, we could also switch the codebase to C++17, but I'll consider that separately at a later time.
(updated plan: see #5087-14)
Updated by Davide Pesavento over 4 years ago
- Blocked by Task #5045: Release 0.7.0 added
Updated by Davide Pesavento over 4 years ago
- Blocked by Task #5040: Deploy CentOS 8 Jenkins agents added
Updated by Davide Pesavento over 4 years ago
- Blocked by Task #5085: Upgrade armhf Jenkins agents to Ubuntu 18.04 added
Updated by Davide Pesavento over 4 years ago
- Related to Task #5093: Upgrade i386 Jenkins agents to Ubuntu 18.04 added
Updated by Davide Pesavento over 4 years ago
- Related to deleted (Task #5093: Upgrade i386 Jenkins agents to Ubuntu 18.04)
Updated by Davide Pesavento over 4 years ago
- Blocked by Task #5093: Upgrade i386 Jenkins agents to Ubuntu 18.04 added
Updated by Davide Pesavento over 4 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
CentOS 7 testing has been dropped from all jenkins projects where it was previously enabled (ndn-cxx, NFD, ndn-tools)
Updated by Davide Pesavento over 4 years ago
- Blocked by Task #4904: Upgrade testbed nodes to Ubuntu 18.04 added
Updated by Davide Pesavento over 4 years ago
- % Done changed from 10 to 30
CentOS 7 support removed from CI scripts.
Updated by Eric Newberry over 4 years ago
Can we accelerate the retirement of 16.04 to reduce the load on maestro, which is likely causing spurious timeout failures?
Updated by Eric Newberry over 4 years ago
Eric Newberry wrote:
Can we accelerate the retirement of 16.04 to reduce the load on maestro, which is likely causing spurious timeout failures?
The platform call on April 16, 2020 didn't raise any objections to proceeding with the retirement of 16.04.
Updated by Eric Newberry over 4 years ago
The 16.04 agents have been removed from Jenkins and all project configurations.
Updated by Davide Pesavento over 4 years ago
- Description updated (diff)
- % Done changed from 30 to 50
Updated by Davide Pesavento over 4 years ago
Davide Pesavento wrote:
As a consequence, we can raise the minimum version of toolchain components and various other dependencies. I suggest the following:
- gcc >= 7
- clang >= 5
- boost >= 1.65.1
- openssl >= 1.1.1
Alex objected to raising the minimum requirements, as he needs to support an old version of openwrt. Therefore, while we strongly encourage users to use the above minimum versions (and Ubuntu 18.04 remains the oldest version tested in jenkins), at this time we will not take any explicit steps to break compatibility with older versions of gcc, boost, and openssl.
Updated by Junxiao Shi over 4 years ago
Alex objected to raising the minimum requirements, as he needs to support an old version of openwrt.
When I mentioned that I have OpenWrt 18.06, I'm told that I must upgrade the OS and stop buying #CrappyHardware.
When Alex wants to support OpenWrt 18.06, he can keep the version support.
Double standard.
Updated by Davide Pesavento over 4 years ago
Junxiao Shi wrote:
Alex objected to raising the minimum requirements, as he needs to support an old version of openwrt.
When I mentioned that I have OpenWrt 18.06, I'm told that I must upgrade the OS and stop buying #CrappyHardware.
When Alex wants to support OpenWrt 18.06, he can keep the version support.
Double standard.
You never voiced your concerns here on this issue, or during any recent NDN calls, or on gerrit. In fact, you were invited to review the initial version of the change that raised the minimum requirements, and not only you didn't object, but you explicitly gave it a +1.
So please refrain from making these false accusations.
Updated by Junxiao Shi over 4 years ago
I put +1 because the commit matches the task. It doesn't mean I'm not pissed.
Updated by Davide Pesavento over 4 years ago
- Description updated (diff)
- Status changed from In Progress to Code review
- % Done changed from 50 to 100
Updated by Davide Pesavento over 4 years ago
- Status changed from Code review to Closed
Updated by Junxiao Shi over 4 years ago
Alex objected to raising the minimum requirements, as he needs to support an old version of openwrt.
This is getting ridiculous. I got this code review comment:
we're trying to avoid breaking compat with boost 1.58.0 so don't use data-driven tests yet please.
The OpenWrt build system does not run the unit tests, and therefore it should be perfectly fine to use Boost 1.65 features in unit testing.
Updated by Alex Afanasyev over 4 years ago
Not sure why do you like commenting on old issues instead of having a normal conversation in Gerrit. You have a valid point of including the data-driven test and I have no objections. Davide's comment was a suggestion, as you could do the same without introducing dependency. But in any case, the referred "compatibility" is best effort and I would prefer having the main codebase compilable with older versions of Boost. Others may disagree, but tests for me not the main codebase, and one can take a leap of faith and compile the code without tests (or compile with some tests removed).