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

Support llvm dev releases #433

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

trxcllnt
Copy link
Contributor

@trxcllnt trxcllnt commented Mar 7, 2024

This is a followup to #389:

  • Updates the range of LLVM versions we check (from 20, which is next dev version, to 99)
  • Support downloading headers if the detected lldb version is the current dev release
    • i.e. doesn't have a release/XY.x branch, but does have a llvmorg-XY-init tag
  • Update the PR action to test ubuntu-22.04 + LLVM versions up to current dev (v19)

If we wanted to be fancy, we could populate the supported versions and CI matrix by parsing git ls-remote --tags https://github.com/llvm/llvm-project.git 'refs/tags/llvmorg-*-init'.

Let me know if that's something you'd like me to add!

@codecov-commenter
Copy link

codecov-commenter commented Mar 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 73.75%. Comparing base (de1f01d) to head (1d965d1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #433      +/-   ##
==========================================
- Coverage   74.25%   73.75%   -0.51%     
==========================================
  Files          34       34              
  Lines        4999     5181     +182     
==========================================
+ Hits         3712     3821     +109     
- Misses       1287     1360      +73     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Comment on lines +116 to +118
# Is `/usr/lib/lib` here correct?
sudo mkdir -p /usr/lib/lib/python${python_version}
sudo ln -s /usr/lib/llvm-${{ matrix.llvm }}/lib/python${python_version}/site-packages /usr/lib/lib/python${python_version}/site-packages
Copy link
Contributor Author

@trxcllnt trxcllnt Mar 7, 2024

Choose a reason for hiding this comment

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

Left a comment here, not sure what symlinking to /usr/lib/lib is doing?

Comment on lines +155 to +156
sudo apt-get install lldb-11 liblldb-11-dev lcov -y
sudo ln -s $(which lldb-11) /usr/bin/lldb
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated these to lldb-11 because ubuntu-latest is now jammy

Comment on lines 51 to 82
use_llvm_repos=1

case "${{ matrix.os }}-${{ matrix.llvm }}" in
ubuntu-18.04-10) use_llvm_repos=1;;
ubuntu-18.04-11) use_llvm_repos=1;;
ubuntu-18.04-12) use_llvm_repos=1;;
ubuntu-18.04-13) use_llvm_repos=1;;
ubuntu-18.04-14) use_llvm_repos=1;;
ubuntu-20.04-13) use_llvm_repos=1;;
ubuntu-20.04-14) use_llvm_repos=1;;
*) use_llvm_repos=0;;
case "${{ matrix.os }}" in
ubuntu-18.04)
case "${{ matrix.llvm }}" in
8) use_llvm_repos=0;;
9) use_llvm_repos=0;;
10) use_llvm_repos=0;;
*) use_llvm_repos=1;;
esac
;;
ubuntu-20.04)
case "${{ matrix.llvm }}" in
8) use_llvm_repos=0;;
9) use_llvm_repos=0;;
10) use_llvm_repos=0;;
11) use_llvm_repos=0;;
12) use_llvm_repos=0;;
*) use_llvm_repos=1;;
esac
;;
ubuntu-22.04)
case "${{ matrix.llvm }}" in
11) use_llvm_repos=0;;
12) use_llvm_repos=0;;
13) use_llvm_repos=0;;
14) use_llvm_repos=0;;
15) use_llvm_repos=0;;
*) use_llvm_repos=1;;
esac
;;
*) use_llvm_repos=1;;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This defaults to using the LLVM repos unless it's one of the versions packaged by Canonical. This should be a limited set, compared to the previous way which would need exceptions for every version not packaged by Canonical.

@trxcllnt
Copy link
Contributor Author

trxcllnt commented Jul 16, 2024

It appears the lldb headers in llvm-19 now include headers generated by the build, so downloading them from github is insufficient to build llnode. I'm not sure what to do about that.

@No9 do you have any thoughts on this PR?

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