Skip to content
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

We should build ALL Rust code in this repo in CI #136406

Open
safinaskar opened this issue Feb 1, 2025 · 3 comments
Open

We should build ALL Rust code in this repo in CI #136406

safinaskar opened this issue Feb 1, 2025 · 3 comments
Labels
A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself A-test-infra Area: test infrastructure (may span bootstrap/compiletest/more) A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@safinaskar
Copy link
Contributor

safinaskar commented Feb 1, 2025

We should build ALL Rust code in this repo when we do ./x test in CI. Including subtrees. This is needed to ensure that contributors will not occasionally break anything, especially when doing tree-wide changes.

For example, in #134420 a contributor replaced tree-wide &PathBuf with &Path. Unfortunately, he broke ./x perf. This was not noticed, because src/tools/rustc-perf-wrapper is not built during ./x test CI. (Later he fixed that problem.)

So, please, build everything in ./x test CI, including subtrees.

I add "contributor roadblock", because I think this is minor contributor roadblock.

@rustbot label A-contributor-roadblock C-enhancement -C-bug

HEAD

fd19773

@safinaskar safinaskar added C-bug Category: This is a bug. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Feb 1, 2025
@rustbot rustbot added needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself C-enhancement Category: An issue proposing an enhancement or a PR with one. and removed C-bug Category: This is a bug. labels Feb 1, 2025
@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Feb 2, 2025
@onur-ozkan
Copy link
Member

We can't compile all Rust code with the x test command because some dependencies are gated by config.toml and the host machine, but we can definitely extend the scope of x test compilation.

@jieyouxu jieyouxu added A-testsuite Area: The testsuite used to check the correctness of rustc A-test-infra Area: test infrastructure (may span bootstrap/compiletest/more) labels Feb 3, 2025
@cuviper
Copy link
Member

cuviper commented Feb 4, 2025

For downstream builds, I appreciate that the current x test covers pretty much what I'm going to ship, whereas stuff like perf is not really relevant. If the default x test grew, then it would be annoying to manually enumerate all the things it used to cover.

So maybe there should be a broader pseudo-target for those that want more, like x test all, or maybe the other way with some name that means the smaller set it used to test. Or maybe there could be a config with different defaults between profiles.

@safinaskar safinaskar changed the title We should build ALL Rust code in this repo when we do ./x test We should build ALL Rust code in this repo in CI Feb 4, 2025
@safinaskar
Copy link
Contributor Author

@cuviper , what I really meant is "to build all code in CI". I updated my post and title

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself A-test-infra Area: test infrastructure (may span bootstrap/compiletest/more) A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

No branches or pull requests

6 participants