-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Use Clang from cilium-builder image to build BPF code in CI #31754
Conversation
/test |
1 similar comment
/test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may want to get some input from developers who run macOS, particularly for the docs change here - We may be able to tweak the bash script to be more portable. But otherwise this PR LGTM from build and github-sec angles.
I'm still on the fence about the timeout, but I don't feel strongly enough to push back / request changes on that front.
cfd16a5
to
6fb773d
Compare
/test |
Remove the hardcoded LLVM 10.0 version. Move to building documentation and running CI actions in a reproducible way using the cilium-builder image with the appropriate version of LLVM. Remove the now unneeded step set_clang_dir from lint-bpf-checks.yaml. Unfortunately, ginkgo build test in lint-build-commits.yaml can't be converted that simply (because cilium-builder images don't contain an LLVM toolchain for the host, only for BPF), so leave it as is for now and keep in mind to upgrade the LLVM version there on upgrades. Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
Currently, the verifier test is using Clang from Cilium release images, and the integration tests use hardcoded Clang 10.0.0 releases. Convert the verifier test to extract Clang from the relevant cilium-builder image instead. Unfortunately, the integration tests can't be converted that simply (because cilium-builder images don't contain an LLVM toolchain for the host, only for BPF), so leave it as is for now and keep in mind to upgrade the LLVM version there on upgrades. Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
6fb773d
to
8bf977a
Compare
/test |
🎉 |
Many workflows in the CI use a hardcoded Clang 10.0 version, which in addition differs from the actual Clang used by Cilium, because the latter has some patches on top. Migrate to building inside cilium-builder or extracting clang from cilium-builder where possible in a straightforward way. Some gaps remain for the future work.
Also clean up a duplicating workflow and some leftovers from #31526 (previous work on integrating cilium-builder into the workflow that runs
make run_bpf_tests
).Field-tested in #31729, where an LLVM upgrade revealed workflows that were tied to Clang 10.