Teach bootstrap test/doc plumbing to handle an initial stdarch workspace subset#153951
Teach bootstrap test/doc plumbing to handle an initial stdarch workspace subset#153951mnmn-f wants to merge 1 commit intorust-lang:mainfrom
Conversation
|
r? @jieyouxu rustbot has assigned @jieyouxu. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
d4ee83e to
4122557
Compare
There was a problem hiding this comment.
Am I missing something or is this way too naive?
EDIT: oh, just core_arch?
I think you are mentoring this GSoC project so maybe you have more context
r? @Kobzol
|
|
|
Thanks, that’s a fair point. I kept this first step minimal on purpos, mostly just to get bootstrap to see library/stdarch as an in-tree workspace and give x test a small deterministic entrypoint like core_arch. I added a dedicated test::Stdarch step since stdarch is outside the library/Cargo.toml workspace that the current test::Crate flow expects. But if it makes more sense to generalize the existing plumbing instead of adding a new step, I’m happy to go that route. |
4122557 to
4408708
Compare
This comment has been minimized.
This comment has been minimized.
4408708 to
b4a874c
Compare
This comment has been minimized.
This comment has been minimized.
b4a874c to
f96a714
Compare
This comment has been minimized.
This comment has been minimized.
f96a714 to
c5b80e6
Compare
This comment has been minimized.
This comment has been minimized.
c5b80e6 to
e72378e
Compare
This comment has been minimized.
This comment has been minimized.
e72378e to
816eccf
Compare
This comment has been minimized.
This comment has been minimized.
816eccf to
dbea72c
Compare
This comment has been minimized.
This comment has been minimized.
dbea72c to
02c8a87
Compare
|
cc @Amanieu, @folkertdev, @sayantn |
This comment has been minimized.
This comment has been minimized.
02c8a87 to
a29bb5c
Compare
This comment has been minimized.
This comment has been minimized.
a29bb5c to
942618c
Compare
This comment has been minimized.
This comment has been minimized.
063f7d7 to
76b30ef
Compare
This comment has been minimized.
This comment has been minimized.
76b30ef to
7678662
Compare
I don't understand what this PR does, and I don't know why we should be using a different workspace switch in the bootstrap steps, so I won't review this PR. First, I'd like to start with the simplest stdarch test jobs, such as |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
Thanks for the feedback. I think I was grouping stdarch-verify too aggressively with the more complex tasks, and I see now that it’s a much better entry point. Looking back, many of the errors I hit were likely because I tried to tackle the workspace plumbing before fully stabilizing the simplest existing jobs. I’m going to take a step back and draft a quick breakdown of the current stdarch test suite along with a staged integration plan. Starting with stdarch-verify will allow me to follow up with a much smaller, more focused PR for the bootstrap/CI side. |
Summary
This is an initial step toward porting the
stdarchtest suite into the main repo as part of the GSoC project.It teaches
bootstrapto recognizelibrary/stdarchas an additional in-tree workspace and hooks a deterministic subset of its tests into the existing test/doc plumbing. Instead of adding new, standalone steps, this version integratesstdarchdirectly into the currentx test/x docflow.The initial scope is restricted to:
core_archstdarch_examplesZulip discussion: https://rust-lang.zulipchat.com/#narrow/channel/421156-gsoc/topic/Idea.3A.20Port.20.60std.3A.3Aarch.60.20test.20suite.20to.20.60rust-lang.2Frust.60
Motivation
Even though
library/stdarchis already in-tree via the Josh subtree,bootstrapstill treats the standard library as a single-workspace setup driven fromlibrary/Cargo.toml. This meansstdarchcrates aren't naturally discovered or routed duringx test.This patch provides a "bootstrap-native" way to bring these tests over. The goal is to start with a small, reviewable subset that doesn't mess with CI stability while laying the groundwork for more complex parts later.
What this changes
library/stdarch/Cargo.toml.test::Crateanddoc::Stdso they can handle either the main library workspace or thestdarchworkspace.library/stdarchorlibrary/stdarch/crates/core_archto these existing steps.library/stdarchpath to runcore_archandstdarch_examplesby default.Why this subset?
I'm starting with
core_archandexamplesbecause they are deterministic and follow the basic upstreamci/run.shflow.I've deliberately left out
intrinsic-test,stdarch-verify, and any fuzzing-related bits for now. Those have trickier tooling requirements and non-determinism concerns that are better handled once this basic integration is solid.Design note
I originally tried adding dedicated
stdarchbootstrap steps, but it felt a bit redundant.Refactoring
test::Crate/doc::Stdto be workspace-aware seems like a much cleaner fit for bootstrap’s architecture. It avoids duplicating logic and makes it easier to pull in more ofstdarch(or other sub-workspaces) in the future.Tests
Verified with: