Skip to content

Add optional CI job to build the compiler with the parallel frontend#153726

Open
Kobzol wants to merge 2 commits intorust-lang:mainfrom
Kobzol:parallel-frontend-tests-optional
Open

Add optional CI job to build the compiler with the parallel frontend#153726
Kobzol wants to merge 2 commits intorust-lang:mainfrom
Kobzol:parallel-frontend-tests-optional

Conversation

@Kobzol
Copy link
Member

@Kobzol Kobzol commented Mar 11, 2026

Discussed on Zulip.

Note: this only builds the compiler, stdlib, etc. with 2 threads. UI tests are still compiled serially. I'd add that in a follow-up PR if we see that this new job works well (and if optional auto jobs work well in the first place).

r? @jieyouxu

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Mar 11, 2026
@Kobzol
Copy link
Member Author

Kobzol commented Mar 11, 2026

@bors try jobs=x86_64-gnu-parallel-frontend

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 11, 2026
Add optional CI job to run tests with the parallel frontend


try-job: x86_64-gnu-parallel-frontend
@Kobzol Kobzol changed the title Add optional CI job to run tests with the parallel frontend Add optional CI job to build the compiler with the parallel frontend Mar 11, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 11, 2026

☀️ Try build successful (CI)
Build commit: 84afa72 (84afa72e5bb52b18560d0f7a0c1668d6842acaa1, parent: 3b1b0ef4d80d3117924d91352c8b6ca528708b3c)

Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General idea seems good, some clarifications
@rustbot author

View changes since this review

Comment on lines -203 to -211
// Auto CI jobs must all "fail-fast" to avoid wasting Auto CI resources. For instance, `tidy`.
for auto_job in &db.auto_jobs {
if auto_job.continue_on_error == Some(true) {
return Err(anyhow!(
"Auto job `{}` cannot have `continue_on_error: true`",
auto_job.name
));
}
}
Copy link
Member

@jieyouxu jieyouxu Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: can we please special-case x86_64-gnu-parallel-frontend to opt-out of this check instead of relaxing this for all auto CI jobs?

I believe this is still an important property to maintain apart from x86_64-gnu-parallel-frontend.

That, or we call these kind of auto jobs optional-* (optional-x86_64-gnu-parallel-frontend for instance) then permit continue_on_error for optional-*.

Comment on lines +34 to +35
# Run the test suite with 2 parallel frontend threads
ENV SCRIPT python3 ../x.py --stage 2 test --set rust.parallel-frontend-threads=2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: wait, to clarify

Note: this only builds the compiler, stdlib, etc. with 2 threads. UI tests are still compiled serially.

shouldn't this comment say sth more like

Build in-tree rustc/std with parallel frontend threads.

Tests are still compiled serially at the moment (intended to be changed in follow-ups).

?

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants