This PR sets up a parallel build for Ubuntu 24.04 (Noble) alongside our current 22.04 (Jammy) build. Everywhere where we previously built only on Jammy, we now build on both:
Testing build-from-source on PRs
Testing Ubuntu .deb package creation on PRs
Releasing .deb packages on release
The changes here are largely procedural; there are only a couple of places we need to do things that aren't just pattern-matching or version parameterisation:
Use the modern pipx tool to install lit
Bump the version of pybind we use to be compatible with the one used in Noble (the one we had previously was backwards- but not forwards-compatible).
On Noble, we use LLVM 17 for the time being because of a known bug affecting LLVM 18 in the package repositories that prevents us from using it to package .debs. It does not affect source builds in the same way; there's no real downside to doing this other than not having a totally up-to-date LLVM dependency.
Note that this PR will look like checks are missing; this is because of the matrix renaming. I'll update the branch protection rules when the PR is ready to merge.
This PR sets up a parallel build for Ubuntu 24.04 (Noble) alongside our current 22.04 (Jammy) build. Everywhere where we previously built only on Jammy, we now build on both:
.deb
package creation on PRs.deb
packages on releaseThe changes here are largely procedural; there are only a couple of places we need to do things that aren't just pattern-matching or version parameterisation:
pipx
tool to installlit
pybind
we use to be compatible with the one used in Noble (the one we had previously was backwards- but not forwards-compatible).On Noble, we use LLVM 17 for the time being because of a known bug affecting LLVM 18 in the package repositories that prevents us from using it to package
.deb
s. It does not affect source builds in the same way; there's no real downside to doing this other than not having a totally up-to-date LLVM dependency.