-
Notifications
You must be signed in to change notification settings - Fork 66
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: Test and build with more clang versions #1208
Comments
@javierhonduco Just one note, this is mainly related to the dev environment. We should add tests to run on the local environment. We provide the builds, and our CI pipelines use the LLVM 11. So, running against only the minimum required version in CI should be sufficient. |
I agree that the releases we provide should be working fine as we test and build with LLVM and Clang 11. The idea of having CI test on other LLVM versions is twofold:
Imagine that our BPF code compiled with some LLVM version (14 or latest, for example) generates some bytecode that verifiers reject. This has happened in the past and might happen again. By testing this periodically we can report this upstream (or start looking for a workaround if this is a blocker) and get this sorted before we decide to upgrade. All this is in consideration that in the next few months, we should upgrade LLVM as we run an old version and might be leaving optimisations on the table, but this can wait, of course, and I think that first testing with multiple LLVM versions would greatly help us. |
I agree with the idea above of building with various Clang versions weekly to get timely alerts. |
@Namanl2001 that would be awesome! It will help us catch potential regressions in code generation affecting our code being accepted or not by the verifier (among other things) |
We use Clang (and related LLVM toolchain) version 11 released the 12 October 2020 in CI for builds and tests.
Locally, some of us run more modern versions of Clang and LLVM. My system reports:
It would be great to have a matrix of Clang / LLVM versions that we want to support. I think we should have:
By doing this we will ensure that everything works as expected with new LLVM releases. It will also help increase our confidence when bumping the LLVM version in CI, taking advantage of the latest improvements in our BPF compilation toolchain.
Given that this would increase the build time, perhaps this could be a periodic action that we run on a weekly basis.
The text was updated successfully, but these errors were encountered: