Run main rust-analyzer tests in rust-lang/rust CI#147372
Merged
bors merged 3 commits intorust-lang:mainfrom Dec 13, 2025
Merged
Run main rust-analyzer tests in rust-lang/rust CI#147372bors merged 3 commits intorust-lang:mainfrom
bors merged 3 commits intorust-lang:mainfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #147370.
MCP: rust-lang/compiler-team#923
This PR prepares
rust-analyzercrates within-rust-treecargo featues where needed, and and updates bootstrap to run the mainrust-analyzertests in rust-lang/rust CI, not just theproc-macro-srvcrate tests.This supersedes the earlier attempt at #136779. I was honestly expecting more failures in this PR, but looking back at the previous attempt, that makes sense because we no longer run
i686-mingw(32-bit windows-gnu) which had a bunch of these failures. In the earlier attempt I also disabled thei686-mingw-related failures fori686-msvcsince I didn't feel like digging into 32-bit msvc at the time. Try results from this PR shows that it's most likely limited to 32-bit windows-gnu specifically.rust-analyzertest remarksCARGO_WORKSPACE_DIRexpect-test-hack in order forexpect-testto be able to find the test expectation HTML files (forsyntax_highlightingtests inide). When I added the hack, ironically, it madeexpect-testunable to find the expectation files. I think this was because previously the path was of theproc-macro-srvcrate specifically, now we point to the root r-a workspace?cfg-related differences onaarch64-apple-darwinmight've been fixed? I can't tell, but we don't seem to be observing the differences now.config::{generate_config_documentation, generate_package_json_config}no longer fails. Perhaps they were fixed to no longer try to write to source directory?Review remarks
rustc_privatecompiler crates to use thein-rust-treecargo feature. I briefly tried to use a plain--cfg=in_rust_tree, but quickly realized it was very hacky, and needed invasive bootstrap changes. The cargo feature approach seems most "natural"/well-supported to both bootstrap and cargo.proc-macro-srvtests, but the whole r-a tests.proc-macro-srvtests against 32-bit targets, but we don't expect that crate to be have target pointer width differences. Discussed this in #t-compiler/rust-analyzer > 32-bit tests?.// try-job: aarch64-gnu
// try-job: aarch64-apple
// try-job: x86_64-mingw-1
// try-job: i686-msvc-1
// try-job: x86_64-msvc-1
// try-job: aarch64-msvc-1