Skip to content
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

Drop LLVM 7 and 9 in favor of 11, 14 and 17 #1141

Merged
merged 4 commits into from
Sep 28, 2023
Merged

Conversation

ti-mo
Copy link
Collaborator

@ti-mo ti-mo commented Sep 28, 2023

This is driven by a few reasons:
- To reproducibly build C examples for our documentation, we want to rely on
  the libbpf-dev Debian package for <bpf/bpf_helpers.h>. Our current llvm
  toolchain image (Buster) ships a libbpf-dev package that doesn't contain this
  header, so we are encouraged to upgrade.

- Bullseye, the next logical candidate, has LLVM packages for 11 all the way
  through 17. This means we would need to drop versions <11 from CI.

- LLVM 7 came out in 2018, LLVM 9 in 2019. Given the development pace of BPF
  and most distributions dropping these versions long ago (Debian Bookworm
  ships LLVM 14), this seems reasonable.

Also removed Semaphore config, made 'clang' the default binary in bpf2go tests, and made some assorted Makefile changes.

We've switched to self-hosted GHA runners.

Signed-off-by: Timo Beckers <timo@isovalent.com>
Hardcoding clang-14 as the clang binary breaks the test suite on non-Debian-based
distributions. There are likely better ways of doing this, but symlinking `clang`
to your preferred toolchain should work.

Signed-off-by: Timo Beckers <timo@isovalent.com>
This patch updates 'container-all' and 'container-shell' to specify BPF2GO_
envs using Docker's --env flags instead of arguments to 'make'. This allows
the use of 'make generate' in the shell without manually having to specify
bpf2go envs.

Also extends the 'clean' target to find all .o and .elf files in the repo
automatically instead of having to specify each subdir. Things are too
spread out for that.

Signed-off-by: Timo Beckers <timo@isovalent.com>
@ti-mo ti-mo requested a review from lmb September 28, 2023 10:24
This is driven by a few reasons:
- To reproducibly build C examples for our documentation, we want to rely on
  the libbpf-dev Debian package for <bpf/bpf_helpers.h>. Our current llvm
  toolchain image (Buster) ships a libbpf-dev package that doesn't contain this
  header, so we are encouraged to upgrade.

- Bullseye, the next logical candidate, has LLVM packages for 11 all the way
  through 17. This means we would need to drop versions <11 from CI.

- LLVM 7 came out in 2018, LLVM 9 in 2019. Given the development pace of BPF
  and most distributions dropping these versions long ago (Debian Bookworm
  ships LLVM 14), this seems reasonable.

Signed-off-by: Timo Beckers <timo@isovalent.com>
@ti-mo ti-mo merged commit 9139a37 into cilium:main Sep 28, 2023
10 checks passed
@ti-mo ti-mo deleted the tb/drop-clang-7-9 branch September 28, 2023 11:29
@@ -1 +1 @@
1694533004
1695896017
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushing the image worked?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, all good 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants