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

cmake: Bump max LLVM version to 19 #3433

Merged
merged 3 commits into from
Dec 12, 2024
Merged

Conversation

kraj
Copy link
Contributor

@kraj kraj commented Aug 31, 2024

Checklist
  • Language changes are updated in man/adoc/bpftrace.adoc
  • User-visible and non-trivial changes updated in CHANGELOG.md
  • The new behaviour is covered by tests

Copy link
Contributor

@viktormalik viktormalik left a 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.

@kraj
Copy link
Contributor Author

kraj commented Sep 3, 2024

Do I get it right that this is finally an LLVM release where all we have to do is bump the version? Incredible 😮

yes :)

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.

yocto has clang-19 staged already and waiting for final release
kraj/meta-clang#982
and has been testing this patch

Also a changelog entry would be nice.

OK

@kraj kraj force-pushed the kraj/clang-19 branch 2 times, most recently from fc53873 to 52065f0 Compare September 3, 2024 01:53
@danobi
Copy link
Member

danobi commented Sep 3, 2024

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.

@kraj
Copy link
Contributor Author

kraj commented Sep 3, 2024

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.

@danobi danobi added the do-not-merge Changes are not ready to be merged into master yet label Sep 3, 2024
@danobi
Copy link
Member

danobi commented Sep 16, 2024

Looks like ubuntu:devel is already on llvm 19. So our distro build fails in CI.

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.

@ajor
Copy link
Member

ajor commented Sep 16, 2024

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.

Sounds like a good idea to me. Also lets people experiment with LLVM 19 before we declare it as officially supported.

@danobi danobi mentioned this pull request Sep 19, 2024
3 tasks
@viktormalik viktormalik mentioned this pull request Dec 2, 2024
3 tasks
@viktormalik
Copy link
Contributor

@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!

@kraj kraj requested a review from jordalgo as a code owner December 6, 2024 19:04
Copy link
Contributor

@viktormalik viktormalik left a 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 🙂

@danobi
Copy link
Member

danobi commented Dec 9, 2024

Needs this patch applied to flake.nix: https://pastes.dxuuu.xyz/z5unr7

Comment on lines 77 to 80
- 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
Copy link
Contributor

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.

@viktormalik
Copy link
Contributor

Needs this patch applied to flake.nix: https://pastes.dxuuu.xyz/z5unr7

Still needs this for the LLVM 19 jobs to pass.

Copy link
Contributor

@viktormalik viktormalik left a 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 🚀

@viktormalik viktormalik merged commit a1568e6 into bpftrace:master Dec 12, 2024
18 checks passed
shunghsiyu pushed a commit to shunghsiyu/bpftrace that referenced this pull request Dec 26, 2024
* cmake: Bump max LLVM version to 19

* Add CI job for clang/llvm 19

* flake.nix: Add LLVM 19 support
shunghsiyu pushed a commit to shunghsiyu/bpftrace that referenced this pull request Dec 26, 2024
* cmake: Bump max LLVM version to 19

* Add CI job for clang/llvm 19

* flake.nix: Add LLVM 19 support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge Changes are not ready to be merged into master yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants