-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Build release artifact against older Glibc #13214
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
Conversation
.github/workflows/release.yaml
Outdated
rustup update --no-self-update stable | ||
rustup target add ${{ matrix.target }} | ||
rustup component add rust-src | ||
uses: actions-rs/toolchain@v1 |
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.
Is this actually needed? We were using it before, but it's unmaintained and doesn't do much anyway.
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.
the container needs the toolchain explicitly installed as ubuntu:18.04 doesn't come with rustup
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.
Oh, right. I think it's better to install it from rustup.rs, though.
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.
good idea. i took a page from dtolnay/rust-toolchain's install script which installs from rustup.sh.
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 we also want --profile minimal
there?
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.
sure, that's in. seems to be working.
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.
Sorry, I think we also need --components rust-src
because otherwise the analysis-stats
down below will fail.
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.
Ah, never mind, that's done just below.
I still think that long-term we should either support only more recent distros or use the |
Well, I'll merge this later today if nobody objects, then trigger an early nightly. |
@SpencerSharkey thanks for looking into this. I expect it to break rather soon-ish, but we can probably switch to CentOS 7 in a pinch. |
@bors r+ |
☀️ Test successful - checks-actions |
Latest 2023 release still seems to require |
@kting28 it's built on Ubuntu 18.04, which has GLIBC 2.27. What are you using with a version older than 2.25? |
In that case never mind. I didn't realize the machines I have (SUSE Enterprise Server 12) is even older than 18.04. I will have to compile rust-analyzer from source then. Thanks for the update! |
When GitHub deprecated Ubuntu 18.04 runners, rust-analyzer was forced to bump runners to 20.04 which includes an updated Glib. This renders RA incompatible with the still popular Ubuntu 18.04 and other slightly older distro versions.
Until a deprecation plan is announced on RA's side, I propose binaries shall be built against older glibc to maintain compatibility.
This PR changes the Release CI workflow to build the
linux-x64/x86_64-unknown-linux-gnu
release in an Ubuntu 18.04 container.Fixes #13081 and #13085