-
Notifications
You must be signed in to change notification settings - Fork 302
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
Fix macOS CI #883
Fix macOS CI #883
Conversation
✅ Deploy Preview for aya-rs-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Just opened #884 and then saw this. The true failure is coming from bpf-linker but we're not getting its logs (again). |
@dave-tucker @tamird bpf-linker is fixed, but it uses LLVM 18 now. To fix the latest failure, we need to find some way to install LLVM 18 on macOS. |
We shouldn't merge this - it doesn't fix anything. We should figure out why we aren't getting errors from bpf-linker. |
We were getting errors from bpf-linker, because nightly started using LLVM 18, bpf-linker was using LLVM 17, so it ended up trying to link incompatible bitcodes. That was fixed here aya-rs/bpf-linker#184 and in yesterday's 0.9.1 release. And that error is gone after resetting the jobs. However, the lasest failure is because we don't have LLVM 18 installed on macOS. Homebrew doesn't ship it, which is understandable - it's just a -rc release. |
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.
on hold until we sort out the LLVM 18 on macOS thing
The first failing job was https://github.com/aya-rs/aya/actions/runs/7896427886/job/21550389236. What I'm saying is that I don't see the bitcode error there, it's not clear why the job failed from the logs. |
The second failing job was https://github.com/aya-rs/aya/actions/runs/7915187581/job/21606490379, not the libelf thing anymore.
Our bad for not logging the whole stderr/out, but this is for sure the bitcode linking mismatch we've seen in other places. |
Yes, this is exactly what I'm saying: we can't see the actual error. |
@tamird see the last commit I just pushed. It seems With the change applied a failing run now produces the following output, which includes the error message that @vadorovsky provided:
|
Nasty! We have the same code in |
.github/workflows/ci.yml
Outdated
@@ -234,7 +234,7 @@ jobs: | |||
find /usr/local/bin -type l -exec sh -c 'readlink -f "$1" \ | |||
| grep -q ^/Library/Frameworks/Python.framework/Versions/' _ {} \; -exec rm -v {} \; | |||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 \ | |||
brew install dpkg findutils gnu-tar llvm pkg-config qemu | |||
brew install dpkg findutils gnu-tar llvm pkg-config libelf qemu |
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.
we should remove this commit?
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.
afaict we still need it - it was an implicit dependency of libbpf before but we didn't install it.
once macOS CI is green again (which i'm hoping my last commit should do) i'll do an experiment to see whether it is still required.
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.
please drop a note here when you learn the answer
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.
Well, it seems I was wrong 😢 libelf isn't needed.
Commit reverted. I'm unable to find or reproduce the error that led me to believe it was libelf in the first place.
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.
It logs a warning :)
e9cd636
to
322c883
Compare
(reminder to update the PR title plz) |
Note: Clippy will fail until #885 has merged. We can merge either first, but one will be red (unless I incorporate the clippy fix here too). |
The cargo::warning seems to ignore output after a newline. Iterate over the entire rendered message and print it line-by-line. Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
LLVM-18 hasn't been released on macOS yet Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Merging to get CI back to green! |
This PR contains 3 commits to fix the macOS CI job which has been failing since ~12th February.
The causes was that Rust nightly updated to LLVM v18.1-RC2 but bpf-linker was linked against LLVM 17. Even with the bpf-linker v0.9.11 release (which supports the LLVM RC) macOS CI still fails due to LLVM 18.1-RC2 not being installable via
brew
to link against. Solving this with homebrew tap/bottles and/or binstalls of bpf-linker is the best long term solution. In the short term we revert to the last working rust nightly toolchain + bpf-linker v0.9.10This was pretty hard to debug due to missing output from
cargo xtask integration-test
.A commit in this PR provides a fix for that too which should make this easier to debug in future.
Note: At some point in CI we were also seeing errors about missing libelf. This seems to be a red herring 🐟
Commits in this PR that added libelf to the brew dependencies have been reverted