Skip to content

Add spawn APIs for BootstrapCommand to support deferred command execution #142591

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

Merged
merged 11 commits into from
Jun 18, 2025

Conversation

Shourya742
Copy link
Contributor

This PR adds new deferred command support in the ExecutionContext and provides APIs to spawn commands and wait for their completion. This structure enables moving away from the start_process helper functions towards a more unified and reusable command execution flow.

r? @Kobzol

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Jun 16, 2025
Copy link
Contributor

@Kobzol Kobzol left a comment

Choose a reason for hiding this comment

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

Thanks! I think this API is really elegant. Left a few comments, but overall looks good.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@Shourya742 Shourya742 requested a review from Kobzol June 17, 2025 14:28
@Kobzol
Copy link
Contributor

Kobzol commented Jun 17, 2025

Left one comment, after that you can squash and I think we're good to go. The CI failure is a fluke, I think.

@Shourya742
Copy link
Contributor Author

Left one comment, after that you can squash and I think we're good to go. The CI failure is a fluke, I think.

I saw the same error in the last set of push... Need to dig..

@Shourya742 Shourya742 force-pushed the 2025-06-14-add-spawn-execution-api branch from 9675e12 to 55e2c26 Compare June 17, 2025 15:22
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@Shourya742 Shourya742 force-pushed the 2025-06-14-add-spawn-execution-api branch from e541562 to aea3f77 Compare June 17, 2025 17:37
@Shourya742 Shourya742 force-pushed the 2025-06-14-add-spawn-execution-api branch from aea3f77 to 0512280 Compare June 17, 2025 17:40
@Kobzol
Copy link
Contributor

Kobzol commented Jun 17, 2025

Great, thanks!

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 17, 2025

📌 Commit 0512280 has been approved by Kobzol

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 17, 2025
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 18, 2025
…ecution-api, r=Kobzol

Add spawn APIs for BootstrapCommand to support deferred command execution

This PR adds new deferred command support in the ExecutionContext and provides APIs to spawn commands and wait for their completion. This structure enables moving away from the start_process helper functions towards a more unified and reusable command execution flow.

r? `@Kobzol`
bors added a commit that referenced this pull request Jun 18, 2025
Rollup of 10 pull requests

Successful merges:

 - #135656 (Add `-Z hint-mostly-unused` to tell rustc that most of a crate will go unused)
 - #138237 (Get rid of `EscapeDebugInner`.)
 - #140772 ({aarch64,x86_64}-pc-windows-gnullvm: build host tools)
 - #140774 (Affirm `-Cforce-frame-pointers=off` does not override)
 - #141610 (Stabilize `feature(generic_arg_infer)`)
 - #141864 (Handle win32 separator for cygwin paths)
 - #142384 (Bringing `rustc_rayon_core` in tree as `rustc_thread_pool`)
 - #142502 (rustdoc_json: improve handling of generic args)
 - #142571 (Reason about borrowed classes in CopyProp.)
 - #142591 (Add spawn APIs for BootstrapCommand to support deferred command execution)

r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol added a commit to Kobzol/rust that referenced this pull request Jun 18, 2025
…ecution-api, r=Kobzol

Add spawn APIs for BootstrapCommand to support deferred command execution

This PR adds new deferred command support in the ExecutionContext and provides APIs to spawn commands and wait for their completion. This structure enables moving away from the start_process helper functions towards a more unified and reusable command execution flow.

r? ``@Kobzol``
bors added a commit that referenced this pull request Jun 18, 2025
Rollup of 12 pull requests

Successful merges:

 - #135656 (Add `-Z hint-mostly-unused` to tell rustc that most of a crate will go unused)
 - #140774 (Affirm `-Cforce-frame-pointers=off` does not override)
 - #141610 (Stabilize `feature(generic_arg_infer)`)
 - #142123 (Implement initial support for timing sections (`--json=timings`))
 - #142383 (CodeGen: rework Aggregate implemention for rvalue_creates_operand cases)
 - #142502 (rustdoc_json: improve handling of generic args)
 - #142591 (Add spawn APIs for BootstrapCommand to support deferred command execution)
 - #142606 (AsyncDrop trait without sync Drop generates an error)
 - #142619 (apply clippy::or_fun_call)
 - #142624 (Actually take `--build` into account in bootstrap)
 - #142627 (Add `StepMetadata` to describe steps)
 - #142660 (remove joboet from review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol added a commit to Kobzol/rust that referenced this pull request Jun 18, 2025
…ecution-api, r=Kobzol

Add spawn APIs for BootstrapCommand to support deferred command execution

This PR adds new deferred command support in the ExecutionContext and provides APIs to spawn commands and wait for their completion. This structure enables moving away from the start_process helper functions towards a more unified and reusable command execution flow.

r? ```@Kobzol```
bors added a commit that referenced this pull request Jun 18, 2025
Rollup of 11 pull requests

Successful merges:

 - #140774 (Affirm `-Cforce-frame-pointers=off` does not override)
 - #141610 (Stabilize `feature(generic_arg_infer)`)
 - #142383 (CodeGen: rework Aggregate implemention for rvalue_creates_operand cases)
 - #142591 (Add spawn APIs for BootstrapCommand to support deferred command execution)
 - #142619 (apply clippy::or_fun_call)
 - #142624 (Actually take `--build` into account in bootstrap)
 - #142627 (Add `StepMetadata` to describe steps)
 - #142660 (remove joboet from review rotation)
 - #142666 (Skip tidy triagebot linkcheck if `triagebot.toml` doesn't exist)
 - #142672 (Clarify bootstrap tools description)
 - #142674 (remove duplicate crash test)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit ec295ad into rust-lang:master Jun 18, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 18, 2025
rust-timer added a commit that referenced this pull request Jun 18, 2025
Rollup merge of #142591 - Shourya742:2025-06-14-add-spawn-execution-api, r=Kobzol

Add spawn APIs for BootstrapCommand to support deferred command execution

This PR adds new deferred command support in the ExecutionContext and provides APIs to spawn commands and wait for their completion. This structure enables moving away from the start_process helper functions towards a more unified and reusable command execution flow.

r? ````@Kobzol````
github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jun 19, 2025
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#140774 (Affirm `-Cforce-frame-pointers=off` does not override)
 - rust-lang/rust#141610 (Stabilize `feature(generic_arg_infer)`)
 - rust-lang/rust#142383 (CodeGen: rework Aggregate implemention for rvalue_creates_operand cases)
 - rust-lang/rust#142591 (Add spawn APIs for BootstrapCommand to support deferred command execution)
 - rust-lang/rust#142619 (apply clippy::or_fun_call)
 - rust-lang/rust#142624 (Actually take `--build` into account in bootstrap)
 - rust-lang/rust#142627 (Add `StepMetadata` to describe steps)
 - rust-lang/rust#142660 (remove joboet from review rotation)
 - rust-lang/rust#142666 (Skip tidy triagebot linkcheck if `triagebot.toml` doesn't exist)
 - rust-lang/rust#142672 (Clarify bootstrap tools description)
 - rust-lang/rust#142674 (remove duplicate crash test)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants