Skip to content

Conversation

@tiran
Copy link
Collaborator

@tiran tiran commented Aug 2, 2025

The new bootstrap-parallel command combines bootstrap --sdist-only and build-parallel in a single, convenient command.

@tiran tiran requested a review from a team as a code owner August 2, 2025 13:51
@tiran tiran requested a review from dhellmann August 2, 2025 13:51
Copy link
Member

@dhellmann dhellmann left a comment

Choose a reason for hiding this comment

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

Nice! I like the fact that it reuses the existing commands.

Is there anything we can do to automatically ensure that if we add options to build-parallel they are included here (via a linter or something)? Maybe it's not a big deal, but it seems like a potential source of UI drift.

@tiran tiran force-pushed the bootstrap-parallel branch 4 times, most recently from eda605b to ee708c8 Compare August 4, 2025 06:45
@rd4398
Copy link
Contributor

rd4398 commented Aug 4, 2025

Nice! Looks good to me!

@tiran
Copy link
Collaborator Author

tiran commented Aug 5, 2025

This PR contains the commit from PR #687

@tiran tiran force-pushed the bootstrap-parallel branch from ee708c8 to 09982ac Compare August 6, 2025 06:26
tiran added 2 commits August 6, 2025 08:37
The new `bootstrap-parallel` command combines `bootstrap --sdist-only`
and `build-parallel` in a single, convenient command.

Signed-off-by: Christian Heimes <cheimes@redhat.com>
The `build`, `build-sequence`, and `build-parallel` jobs now clean up
sdist root directory and build env directory.

The `build-parallel` command reuses the build env directory from the
bootstrap phase in the build-paralel phase. This speed up package builds
for packages that depend on large dependencies like Torch.

Signed-off-by: Christian Heimes <cheimes@redhat.com>
@tiran tiran force-pushed the bootstrap-parallel branch from 09982ac to a4ccdc5 Compare August 6, 2025 06:38
@tiran
Copy link
Collaborator Author

tiran commented Aug 6, 2025

Is there anything we can do to automatically ensure that if we add options to build-parallel they are included here (via a linter or something)? Maybe it's not a big deal, but it seems like a potential source of UI drift.

I have added a simple check that compares options names. It's not going to detect different defaults, but at least it will tell us when an option is added or removed.

Copy link
Member

@dhellmann dhellmann left a comment

Choose a reason for hiding this comment

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

I like it. Let's release and see how the integration goes.

# statistics
wheels = sorted(f.name for f in wkctx.wheels_downloads.glob("*.whl"))
sdists = sorted(f.name for f in wkctx.sdists_downloads.glob("*.tar.gz"))
logger.debug("wheels: %s", ", ".join(wheels))
Copy link
Member

Choose a reason for hiding this comment

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

These log lines could end up being pretty massive for our full index builds. Let's see how it goes, but I anticipate coming back and either listing a few packages per line or removing the log calls entirely.

@mergify mergify bot merged commit 0803395 into python-wheel-build:main Aug 6, 2025
112 checks passed
@tiran tiran deleted the bootstrap-parallel branch October 6, 2025 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants