-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
cmake: Bump max LLVM version to 19 #3433
Conversation
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.
Do I get it right that this is finally an LLVM release where all we have to do is bump the version? Incredible 😮
Anyways, I'd prefer if we waited for Nix to add LLVM 19 so that we can run all the tests. Since it should be released tomorrow, it should hopefully not take long before it gets to Nixpkgs.
Also a changelog entry would be nice.
yes :)
yocto has clang-19 staged already and waiting for final release
OK |
fc53873
to
52065f0
Compare
LGTM, but like Viktor said, would be good to wait until we have it in CI until we merge this. Cuz if we merge and we cut a release, might ship a buggy release. |
No issues, sounds reasonable. |
Looks like I'm thinking about merging this but gating llvm 19 behind CMAKE_BUILD_TYPE=Debug. Idea is that we don't want llvm 19 built by packagers yet but also want CI working until nix releases llvm 19. Or we could move CI to track nix unstable. Kinda hesitant to do this b/c nix is kinda a black box for many folks and I'm not sure we want to be debugging weird nix things. |
Sounds like a good idea to me. Also lets people experiment with LLVM 19 before we declare it as officially supported. |
@kraj could you please rebase this on top of master and add a LLVM 19 CI job? Nix env should have LLVM 19 now. Also if you're busy, I can do it myself :-) Thanks! |
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.
Still missing the CI job in .github/workflows/ci.yml
🙂
Needs this patch applied to flake.nix: https://pastes.dxuuu.xyz/z5unr7 |
.github/workflows/ci.yml
Outdated
- NAME: LLVM 19 Release | ||
CMAKE_BUILD_TYPE: Release | ||
NIX_TARGET: .#bpftrace-llvm19 | ||
TOOLS_TEST_DISABLE: biosnoop.bt | ||
- NAME: LLVM 19 Debug | ||
CMAKE_BUILD_TYPE: Debug | ||
NIX_TARGET: .#bpftrace-llvm19 | ||
TOOLS_TEST_DISABLE: biosnoop.bt | ||
- NAME: LLVM 19 Clang Debug | ||
CMAKE_BUILD_TYPE: Debug | ||
NIX_TARGET: .#bpftrace-llvm19 | ||
CC: clang | ||
CXX: clang++ | ||
TOOLS_TEST_DISABLE: biosnoop.bt | ||
- NAME: AOT (LLVM 19 Debug) | ||
CMAKE_BUILD_TYPE: Debug | ||
NIX_TARGET: .#bpftrace-llvm19 | ||
RUN_TESTS: 0 | ||
RUN_AOT_TESTS: 1 | ||
AOT_SKIPLIST_FILE: .github/include/aot_skip.txt | ||
- NAME: Memleak test (LLVM 19 Debug) | ||
CMAKE_BUILD_TYPE: Debug | ||
NIX_TARGET: .#bpftrace-llvm19 | ||
RUN_MEMLEAK_TEST: 1 | ||
RUN_TESTS: 0 | ||
- NAME: Memleak test (LLVM 19 Release) | ||
CMAKE_BUILD_TYPE: Release | ||
NIX_TARGET: .#bpftrace-llvm19 | ||
RUN_MEMLEAK_TEST: 1 | ||
RUN_TESTS: 0 |
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.
For the sake of limiting the amount of CI jobs, we tend to test all LLVM versions in the Debug
and all the additional configs (Release
, Clang, AOT, memleak) with just the latest LLVM.
Could you please do that? In other words, this PR should just add one new job LLVM 19 Debug
and change LLVM 18->19 in all of the other jobs.
Still needs this for the LLVM 19 jobs to pass. |
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.
Thanks!
Finally LLVM 19 support 🚀
* cmake: Bump max LLVM version to 19 * Add CI job for clang/llvm 19 * flake.nix: Add LLVM 19 support
* cmake: Bump max LLVM version to 19 * Add CI job for clang/llvm 19 * flake.nix: Add LLVM 19 support
Checklist
man/adoc/bpftrace.adoc
CHANGELOG.md