[I had posted this on Slack in #development originally, copying here
We now have the nice list of platforms that Zeek currently supports
We however don’t have a policy yet what platform we generally aim to
support going forward. Dominik and I discussed this further the other
day and came up with a proposal:
1. For each distribution, we decide on a dedicated policy which
versions we want to support at any point. A general rule of thumb
would be “the two most recent stable releases still within their
support window”. But we’d actually look at each distribution and
see what policy makes sense, including any additional dependencies
we will rely on (like devtools on CentOS). And we do
mini-request-for-comments to get feedback from users if we’re
making a reasonable choice.
2. We update CI to test those versions, and *only* those versions.
3. We then rely on CI to decide if changes are ok: If, e.g.,
somebody wants to use a new C++ feature, that’s ok as long as CI
passes. If it breaks CI, it won’t go in.
The advantage of this is that we won’t rely on having to specify
specific compiler versions, which isn’t well-defined (because things
also depend on libstdc++ version, system libs, etc.), but instead on
whether people can actually compile Zeek on the platforms they are
A disadvantage is that we’ll need to spend the time to ensure our CI
setup keeps matching the policies, and gets updated as distribution
updates come out.
I think you’ve summarized it nicely! I’d only add that
we’ll have to
keep our CI up-to-date regardless. Jon is already doing a great job
staying on top of things and adding EOL dates to dockerfiles as
comments to make it obvious when things can get dropped from Cirrus.
Also, I’m obviously I’m in favor of this proposal.
The “everything that passes CI is fair game” approach not only makes
sure we naturally catch up to new C++ features eventually (which is
the main motivation), but we can also steadily modernize our CMake
scaffold, Python scripts, and so on.
Robin Sommer * Corelight, Inc. * robin(a)corelight.com * www.corelight.com