ci: add selective wheel build plumbing - #2464
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
/ok to test 4cd463f |
|
/ok to test 9c7d09f |
|
/ok to test 7658e36 |
7658e36 to
a313460
Compare
|
/ok to test a313460b29 |
|
/ok to test a313460 |
This comment has been minimized.
This comment has been minimized.
|
/ok to test 373a954 |
373a954 to
76f9829
Compare
mdboom
left a comment
There was a problem hiding this comment.
Makes sense to me as a first step of something that will be really awesome to have.
I hesitate a bit because it's at odds with the "put less logic in GHA CI config" discussion we had the other day. (It would be amazing if I could run this logic locally and say "test what needs to be tested based on my local changes"). But that's perfect is the enemy of the good -- we can always merge this approach now and refactor to something more "portable" later.
76f9829 to
a8fe077
Compare
I agree and is something I've been thinking about. Writing a bunch of bash / powershell / etc. code doesn't feel like the right approach either. Something like moon (https://moonrepo.dev/moon) or bazel would probably be the right fit, but is a bit concerning from a maintainability perspective. |
|
Important
Stack dependency: PR 1 of 4. This is the foundation and has no PR dependency. #2465, #2466, and #2467 depend on it; merge this PR first.
Merge order: #2464 (this PR) -> #2465 -> #2466 -> #2467. All branches live in the
kkraus14fork and target upstreammain, so later PR diffs are cumulative until their dependencies merge.What
PIP_PRE.Why
The reusable build workflow needs package-level controls and artifact reuse before the top-level CI workflow can safely skip unaffected builds. The selective gates integrate with #2510's exact direct-file constraints so reused and freshly built internal wheels retain deterministic resolver precedence.
Behavior before activation
Every new input defaults to
true, and this PR does not change any caller. CI therefore keeps building and preparing all packages until the orchestration PR activates selective values.Validation
mainRelated to #299.