Adding Debian, Ubuntu, OpenSUSE, RHEL, CentOS kernels to WireGuard CI: Seeking URLs
Jason A. Donenfeld
Jason at zx2c4.com
Fri May 22 10:04:58 CEST 2020
Hi distro kernel maintainers,
I currently have build.wireguard.com churning away at every new kernel
release between 3.10 and 5.5 for each and every wireguard-linux-compat
commit, making sure that we don't break anything. It's a pretty CPU
intensive, but it means we don't break mainline kernels ever when
releasing. Scroll down to the bottom to see what I mean.
This is not the case, however, with distro kernels, which differ
notoriously from mainline in surprising ways. There's been some
breakage, and unless we do something about it, I imagine there will
continue to be much breakage. Because so many users use Linux via your
kernels, it seems imperative that we support these well. And with
distros like Ubuntu now supporting WireGuard directly through
wireguard-linux-compat, it seems ever more important that we minimize
breakage so as to not create release delays downstream of us.
At the moment, wireguard-linux-compat supports:
- Debian oldoldstable (8), oldstable (9), stable (10), testing (11), sid
- Ubuntu 14.04, 16.04, 18.04, 19.04, 19.10, 20.04
- OpenSUSE 42, 15, 15.2 (leap)
- RHEL 7.8, 8.2
- CentOS 8.1
The logic here is that we support the latest single kernel for each
major supported release of these distros. For example, on Debian
stable, we support 4.19.0-9 but not 4.19.0-8 anymore.
I'd like to put these on build.wireguard.com to mitigate breakage. In
order to make this happen, I'll need two things:
- A URL I can scape that will give me the latest kernel versions for
- A URL I can construct using a selected version to download a boring
kernel source tarball.
I would prefer to not involve git, if possible, and for these URLs to
point to the sources for actual kernels that are shipping as the
standard latest-kernel for each of the above releases.
If you can provide those pieces of information for my CI scripts, it
seems likely that we can drastically reduce breakage for your
distribution frankenkernels. If you cannot provide that, but other
distros can, I will probably naturally prioritize support for those
other distros that make maintenance easier, simply as a matter of
habit rather than something intentional.
Let me know if this is something that interests you. I'm happy to get
creative on what sorts of pages we scrape for this info.
More information about the WireGuard