refactor: BuildOrchestrator pipeline deduplication - #3251
Merged
Conversation
messense
commented
Jul 9, 2026
Member
- Extract validate_wheels_for_pypi, shared by normal and per-interpreter PGO builds
- Extract compile_and_audit for the cdylib compile→audit→AuditedArtifact sequence (stable-ABI, version-specific PyO3, cffi, uniffi paths)
- Merge extension and bin wheel writing into a shared write_wheel_inner; BinBindingGenerator now reads metadata immutably with WASI entry-point mutations precomputed via prepare_metadata (resolves the borrow trap)
- Extract run_pgo_cycle for the shared three-phase PGO sequencing with a message prefix preserving per-interpreter output indentation
- Replace Box factories with generics
- Extract validate_wheels_for_pypi, shared by normal and per-interpreter PGO builds - Extract compile_and_audit for the cdylib compile→audit→AuditedArtifact sequence (stable-ABI, version-specific PyO3, cffi, uniffi paths) - Merge extension and bin wheel writing into a shared write_wheel_inner; BinBindingGenerator now reads metadata immutably with WASI entry-point mutations precomputed via prepare_metadata (resolves the borrow trap) - Extract run_pgo_cycle for the shared three-phase PGO sequencing with a message prefix preserving per-interpreter output indentation - Replace Box<dyn BindingGenerator> factories with generics
messense
enabled auto-merge (squash)
July 9, 2026 13:59
halstead
pushed a commit
to openembedded/openembedded-core
that referenced
this pull request
Aug 26, 2026
Changelog: * Set `UV_PYTHON` when running `maturin develop` with uv ([#3236](PyO3/maturin#3236)) * Set UID and GID headers in pax ([#3241](PyO3/maturin#3241)) * Replace unguarded panics with explicit errors on fallible input ([#3242](PyO3/maturin#3242)) * Harden PEP 517 build-wheel and fix unreachable OIDC 404 fallback ([#3244](PyO3/maturin#3244)) * Fix abi3t PyModExport entrypoint check ([#3246](PyO3/maturin#3246)) * Fix `maturin build --pgo -i <version>` with `uv` install ([#3237](PyO3/maturin#3237)) * Refactor: apply some mechanical cleanups ([#3250](PyO3/maturin#3250)) * Refactor: BuildOrchestrator pipeline deduplication ([#3251](PyO3/maturin#3251)) * Refactor: improve context and environment hygiene ([#3252](PyO3/maturin#3252)) * Fix(ci): honor ~= and ==X.* in requires-python for generate-ci ([#3249](PyO3/maturin#3249)) * Refactor: type cleanup for options, tags, and wheel metadata ([#3253](PyO3/maturin#3253)) * Refactor: InstallDest, single BridgeModel, and ui output facade ([#3254](PyO3/maturin#3254)) * Don’t specify generate-import-lib for PyO3 0.29 ([#3258](PyO3/maturin#3258)) * Refactor build so that pgo is part of normal pathway ([#3257](PyO3/maturin#3257)) * Fix: verify bindings detection with cargo tree in workspaces ([#3264](PyO3/maturin#3264)) * Fix: harden cargo tree verification of bindings detection ([#3266](PyO3/maturin#3266)) * Feat: support --pgo for maturin develop ([#3270](PyO3/maturin#3270)) * Feat: support `MATURIN_PGO` env var to activate --pgo ([#3271](PyO3/maturin#3271)) * Docs: correct crate feature documentation; remove stale clippy allow * Fix: deduplicate SBOM includes across full merged list, preserving first-seen order * Feat: type the bindings input with a single-source-of-truth enum ([#3273](PyO3/maturin#3273)) * Don't force export of the `PyInit_{module_name}` in UniFfi mode ([#3275](PyO3/maturin#3275)) * Switch musllinux images to `musllinux_1_2` as `musllinux_1_1` is EOL ([#3280](PyO3/maturin#3280)) * Fix(generate-stubs): write stubs into the module's package directory ([#3282](PyO3/maturin#3282)) * Fix group not cwd ([#3284](PyO3/maturin#3284)) * Docs: document missing [tool.maturin] config fields ([#3287](PyO3/maturin#3287)) * Update cargo-zigbuild & cargo-xwin to 0.23.1 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead
pushed a commit
to openembedded/openembedded-core
that referenced
this pull request
Aug 26, 2026
Changelog: * Set `UV_PYTHON` when running `maturin develop` with uv ([#3236](PyO3/maturin#3236)) * Set UID and GID headers in pax ([#3241](PyO3/maturin#3241)) * Replace unguarded panics with explicit errors on fallible input ([#3242](PyO3/maturin#3242)) * Harden PEP 517 build-wheel and fix unreachable OIDC 404 fallback ([#3244](PyO3/maturin#3244)) * Fix abi3t PyModExport entrypoint check ([#3246](PyO3/maturin#3246)) * Fix `maturin build --pgo -i <version>` with `uv` install ([#3237](PyO3/maturin#3237)) * Refactor: apply some mechanical cleanups ([#3250](PyO3/maturin#3250)) * Refactor: BuildOrchestrator pipeline deduplication ([#3251](PyO3/maturin#3251)) * Refactor: improve context and environment hygiene ([#3252](PyO3/maturin#3252)) * Fix(ci): honor ~= and ==X.* in requires-python for generate-ci ([#3249](PyO3/maturin#3249)) * Refactor: type cleanup for options, tags, and wheel metadata ([#3253](PyO3/maturin#3253)) * Refactor: InstallDest, single BridgeModel, and ui output facade ([#3254](PyO3/maturin#3254)) * Don’t specify generate-import-lib for PyO3 0.29 ([#3258](PyO3/maturin#3258)) * Refactor build so that pgo is part of normal pathway ([#3257](PyO3/maturin#3257)) * Fix: verify bindings detection with cargo tree in workspaces ([#3264](PyO3/maturin#3264)) * Fix: harden cargo tree verification of bindings detection ([#3266](PyO3/maturin#3266)) * Feat: support --pgo for maturin develop ([#3270](PyO3/maturin#3270)) * Feat: support `MATURIN_PGO` env var to activate --pgo ([#3271](PyO3/maturin#3271)) * Docs: correct crate feature documentation; remove stale clippy allow * Fix: deduplicate SBOM includes across full merged list, preserving first-seen order * Feat: type the bindings input with a single-source-of-truth enum ([#3273](PyO3/maturin#3273)) * Don't force export of the `PyInit_{module_name}` in UniFfi mode ([#3275](PyO3/maturin#3275)) * Switch musllinux images to `musllinux_1_2` as `musllinux_1_1` is EOL ([#3280](PyO3/maturin#3280)) * Fix(generate-stubs): write stubs into the module's package directory ([#3282](PyO3/maturin#3282)) * Fix group not cwd ([#3284](PyO3/maturin#3284)) * Docs: document missing [tool.maturin] config fields ([#3287](PyO3/maturin#3287)) * Update cargo-zigbuild & cargo-xwin to 0.23.1 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead
pushed a commit
to openembedded/openembedded-core
that referenced
this pull request
Aug 27, 2026
Changelog: * Set `UV_PYTHON` when running `maturin develop` with uv ([#3236](PyO3/maturin#3236)) * Set UID and GID headers in pax ([#3241](PyO3/maturin#3241)) * Replace unguarded panics with explicit errors on fallible input ([#3242](PyO3/maturin#3242)) * Harden PEP 517 build-wheel and fix unreachable OIDC 404 fallback ([#3244](PyO3/maturin#3244)) * Fix abi3t PyModExport entrypoint check ([#3246](PyO3/maturin#3246)) * Fix `maturin build --pgo -i <version>` with `uv` install ([#3237](PyO3/maturin#3237)) * Refactor: apply some mechanical cleanups ([#3250](PyO3/maturin#3250)) * Refactor: BuildOrchestrator pipeline deduplication ([#3251](PyO3/maturin#3251)) * Refactor: improve context and environment hygiene ([#3252](PyO3/maturin#3252)) * Fix(ci): honor ~= and ==X.* in requires-python for generate-ci ([#3249](PyO3/maturin#3249)) * Refactor: type cleanup for options, tags, and wheel metadata ([#3253](PyO3/maturin#3253)) * Refactor: InstallDest, single BridgeModel, and ui output facade ([#3254](PyO3/maturin#3254)) * Don’t specify generate-import-lib for PyO3 0.29 ([#3258](PyO3/maturin#3258)) * Refactor build so that pgo is part of normal pathway ([#3257](PyO3/maturin#3257)) * Fix: verify bindings detection with cargo tree in workspaces ([#3264](PyO3/maturin#3264)) * Fix: harden cargo tree verification of bindings detection ([#3266](PyO3/maturin#3266)) * Feat: support --pgo for maturin develop ([#3270](PyO3/maturin#3270)) * Feat: support `MATURIN_PGO` env var to activate --pgo ([#3271](PyO3/maturin#3271)) * Docs: correct crate feature documentation; remove stale clippy allow * Fix: deduplicate SBOM includes across full merged list, preserving first-seen order * Feat: type the bindings input with a single-source-of-truth enum ([#3273](PyO3/maturin#3273)) * Don't force export of the `PyInit_{module_name}` in UniFfi mode ([#3275](PyO3/maturin#3275)) * Switch musllinux images to `musllinux_1_2` as `musllinux_1_1` is EOL ([#3280](PyO3/maturin#3280)) * Fix(generate-stubs): write stubs into the module's package directory ([#3282](PyO3/maturin#3282)) * Fix group not cwd ([#3284](PyO3/maturin#3284)) * Docs: document missing [tool.maturin] config fields ([#3287](PyO3/maturin#3287)) * Update cargo-zigbuild & cargo-xwin to 0.23.1 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead
pushed a commit
to openembedded/openembedded-core
that referenced
this pull request
Aug 27, 2026
Changelog: * Set `UV_PYTHON` when running `maturin develop` with uv ([#3236](PyO3/maturin#3236)) * Set UID and GID headers in pax ([#3241](PyO3/maturin#3241)) * Replace unguarded panics with explicit errors on fallible input ([#3242](PyO3/maturin#3242)) * Harden PEP 517 build-wheel and fix unreachable OIDC 404 fallback ([#3244](PyO3/maturin#3244)) * Fix abi3t PyModExport entrypoint check ([#3246](PyO3/maturin#3246)) * Fix `maturin build --pgo -i <version>` with `uv` install ([#3237](PyO3/maturin#3237)) * Refactor: apply some mechanical cleanups ([#3250](PyO3/maturin#3250)) * Refactor: BuildOrchestrator pipeline deduplication ([#3251](PyO3/maturin#3251)) * Refactor: improve context and environment hygiene ([#3252](PyO3/maturin#3252)) * Fix(ci): honor ~= and ==X.* in requires-python for generate-ci ([#3249](PyO3/maturin#3249)) * Refactor: type cleanup for options, tags, and wheel metadata ([#3253](PyO3/maturin#3253)) * Refactor: InstallDest, single BridgeModel, and ui output facade ([#3254](PyO3/maturin#3254)) * Don’t specify generate-import-lib for PyO3 0.29 ([#3258](PyO3/maturin#3258)) * Refactor build so that pgo is part of normal pathway ([#3257](PyO3/maturin#3257)) * Fix: verify bindings detection with cargo tree in workspaces ([#3264](PyO3/maturin#3264)) * Fix: harden cargo tree verification of bindings detection ([#3266](PyO3/maturin#3266)) * Feat: support --pgo for maturin develop ([#3270](PyO3/maturin#3270)) * Feat: support `MATURIN_PGO` env var to activate --pgo ([#3271](PyO3/maturin#3271)) * Docs: correct crate feature documentation; remove stale clippy allow * Fix: deduplicate SBOM includes across full merged list, preserving first-seen order * Feat: type the bindings input with a single-source-of-truth enum ([#3273](PyO3/maturin#3273)) * Don't force export of the `PyInit_{module_name}` in UniFfi mode ([#3275](PyO3/maturin#3275)) * Switch musllinux images to `musllinux_1_2` as `musllinux_1_1` is EOL ([#3280](PyO3/maturin#3280)) * Fix(generate-stubs): write stubs into the module's package directory ([#3282](PyO3/maturin#3282)) * Fix group not cwd ([#3284](PyO3/maturin#3284)) * Docs: document missing [tool.maturin] config fields ([#3287](PyO3/maturin#3287)) * Update cargo-zigbuild & cargo-xwin to 0.23.1 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead
pushed a commit
to openembedded/openembedded-core
that referenced
this pull request
Aug 27, 2026
Changelog: * Set `UV_PYTHON` when running `maturin develop` with uv ([#3236](PyO3/maturin#3236)) * Set UID and GID headers in pax ([#3241](PyO3/maturin#3241)) * Replace unguarded panics with explicit errors on fallible input ([#3242](PyO3/maturin#3242)) * Harden PEP 517 build-wheel and fix unreachable OIDC 404 fallback ([#3244](PyO3/maturin#3244)) * Fix abi3t PyModExport entrypoint check ([#3246](PyO3/maturin#3246)) * Fix `maturin build --pgo -i <version>` with `uv` install ([#3237](PyO3/maturin#3237)) * Refactor: apply some mechanical cleanups ([#3250](PyO3/maturin#3250)) * Refactor: BuildOrchestrator pipeline deduplication ([#3251](PyO3/maturin#3251)) * Refactor: improve context and environment hygiene ([#3252](PyO3/maturin#3252)) * Fix(ci): honor ~= and ==X.* in requires-python for generate-ci ([#3249](PyO3/maturin#3249)) * Refactor: type cleanup for options, tags, and wheel metadata ([#3253](PyO3/maturin#3253)) * Refactor: InstallDest, single BridgeModel, and ui output facade ([#3254](PyO3/maturin#3254)) * Don’t specify generate-import-lib for PyO3 0.29 ([#3258](PyO3/maturin#3258)) * Refactor build so that pgo is part of normal pathway ([#3257](PyO3/maturin#3257)) * Fix: verify bindings detection with cargo tree in workspaces ([#3264](PyO3/maturin#3264)) * Fix: harden cargo tree verification of bindings detection ([#3266](PyO3/maturin#3266)) * Feat: support --pgo for maturin develop ([#3270](PyO3/maturin#3270)) * Feat: support `MATURIN_PGO` env var to activate --pgo ([#3271](PyO3/maturin#3271)) * Docs: correct crate feature documentation; remove stale clippy allow * Fix: deduplicate SBOM includes across full merged list, preserving first-seen order * Feat: type the bindings input with a single-source-of-truth enum ([#3273](PyO3/maturin#3273)) * Don't force export of the `PyInit_{module_name}` in UniFfi mode ([#3275](PyO3/maturin#3275)) * Switch musllinux images to `musllinux_1_2` as `musllinux_1_1` is EOL ([#3280](PyO3/maturin#3280)) * Fix(generate-stubs): write stubs into the module's package directory ([#3282](PyO3/maturin#3282)) * Fix group not cwd ([#3284](PyO3/maturin#3284)) * Docs: document missing [tool.maturin] config fields ([#3287](PyO3/maturin#3287)) * Update cargo-zigbuild & cargo-xwin to 0.23.1 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.