Support llvm dev releases by trxcllnt · Pull Request #433 · nodejs/llnode · GitHub
Skip to content

Support llvm dev releases#433

Open
trxcllnt wants to merge 8 commits into
nodejs:mainfrom
trxcllnt:fix/use-llvm-dev-branch
Open

Support llvm dev releases#433
trxcllnt wants to merge 8 commits into
nodejs:mainfrom
trxcllnt:fix/use-llvm-dev-branch

Conversation

@trxcllnt

@trxcllnt trxcllnt commented Mar 7, 2024

Copy link
Copy Markdown
Contributor

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

codecov-commenter commented Mar 7, 2024

Copy link
Copy Markdown

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

@trxcllnt trxcllnt Mar 7, 2024

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
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
Copy Markdown
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

trxcllnt commented Jul 16, 2024

Copy link
Copy Markdown
Contributor Author

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