-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
ship rust analyzer #72978
ship rust analyzer #72978
Conversation
|
Yeah, the dist.rs modification strategy is like that for everyone I think :) But this looks like a good start to me -- let me know if you have specific questions that I can help answer; once we think dist.rs is in good shape a try build should produce sufficient artifacts for testing on linux (x86_64) and once that's working we can land it! 🎉 |
4b651c7
to
8003ab3
Compare
Ready for review @Mark-Simulacrum I think. |
8003ab3
to
22c9db1
Compare
All of those shouldn't affect a try build I think so let's see if this is doing what it's supposed to, @bors try |
⌛ Trying commit 22c9db138d7dda91c127c241919acc50a5921dcf with merge 37d6cce42752fb1b3ae7414d5c142c99dffc53f5... |
22c9db1
to
7e615ea
Compare
7e615ea
to
8cbd785
Compare
Will this be tracked in toolstate in the future? |
@ehuss I don't think so -- rust-analyzer builds with a stable compiler today so unless that changes in the future (and I think we don't want it to) it shouldn't break on changes to the compiler so there's no reason for toolstate really. |
Heh, looks like rust-analyzer failed to build on our dist builders. I'm not sure whether this is "expected" -- I guess maybe we just need to install inotify? There's also the lutimes warning which is somewhat concerning. It does look like force pushing kills bors from notifying that the try build is done (but the try build still completes).
|
@Mark-Simulacrum you cannot just install inotify. |
Yup, as mati865 said, it seems like our file watching library requires glibc 2.9. I don't think it's reasonable to bump glibc version we use to build the rust toolchain, so we'd have to change something on rust-analyzer side. This is somewhat sad, because our file-watching functionality is known to be broken in various ways anyway (by default, we use editor-side file watching if that's available). |
CC #62516. I think we'd be able to drop support for CentOS 5 in December at earliest. |
blocked on resolving the issue in Rust inotify wrappar: rust-lang/rust-analyzer#4224 (comment). |
8cbd785
to
326888a
Compare
⌛ Testing commit 92b5dd76bc30e985cfc989438838e7d9cda16b93 with merge fcdd79ab164987b04c0e6a4a1e0adcaf6040cb2c... |
💔 Test failed - checks-actions |
So, this failed on power because we use |
The current plan is that submodule tracks the `release` branch of rust-analyzer, which is updated once a week. rust-analyzer is a workspace (with a virtual manifest), the actual binary is provide by `crates/rust-analyzer` package. Note that we intentionally don't add rust-analyzer to `Kind::Test`, for two reasons. *First*, at the moment rust-analyzer's test suite does a couple of things which might not work in the context of rust repository. For example, it shells out directly to `rustup` and `rustfmt`. So, making this work requires non-trivial efforts. *Second*, it seems unlikely that running tests in rust-lang/rust repo would provide any additional guarantees. rust-analyzer builds with stable and does not depend on the specifics of the compiler, so changes to compiler can't break ra, unless they break stability guarantee. Additionally, rust-analyzer itself is gated on bors, so we are pretty confident that test suite passes.
92b5dd7
to
058c1b6
Compare
Updated salsa and checked that rust-analyzer @bors r=Mark-Simulacrum |
📌 Commit 058c1b6 has been approved by |
⌛ Testing commit 058c1b6 with merge 743a9fab5f5e724bf0b5364e802f3d1f8673e079... |
💔 Test failed - checks-actions |
Some cargo test failed. Seems unrelated? |
@bors retry seems like a network issue |
☀️ Test successful - checks-actions, checks-azure |
This successfully builds rust-analyzer as a part of rust repo. I haven't yet added required changes to dist.rs -- seems like I just have to copy-paste quite a bit of code I don't really understand :-)