Skip to content

ci(platforms): separate primary merge gates and bind candidate profiles - #314

Merged
itlezy merged 8 commits into
mainfrom
chore/rust-platform-gates
Nov 11, 2026
Merged

itlezy merged 8 commits into
mainfrom
chore/rust-platform-gates

Conversation

@itlezy

@itlezy itlezy commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Windows/Linux merge qualification currently waits for macOS and Android even after primary platforms pass. This separates their visible, failure-aware outcomes into an independent workflow while Required CI retains Linux GNU/musl, Windows, native ARM64, REST/OpenAPI, shared quality and supply-chain checks. Required CodeQL and PR coordination remain unchanged.

Release qualification keeps the full platform inventory by default. An explicit Windows/Linux profile is restricted to unpublished manual candidates; nightly/tag publication still requires every included platform and exact latest source-run/attempt evidence. Native package and smoke recipes share YAML steps while keeping artifact namespaces separate.

The workflow consumers pin the merged Builder profile provider and native-link source-fence fix at 995d13f350c8342437fdb3122d2a271696ac6e29 (emulebb/emulebb-build#53). Prepared-image production remains a separate workstream. The dependency-only Cargo cache change preserves its original author commit and covers both primary and optional hosted caches.

Validation: normal commit and push hooks passed environment provenance, actionlint, policy checks, 262 Python tests (one Windows skip for the Ubuntu aggregate-shell test), and rustfmt. Hosted qualification exposed an uninitialized musl Cargo target directory (now created before the unchanged full test/smoke command) and rejection of tracked native source links (fixed and fully hosted-qualified in emulebb/emulebb-build#53, including 16 actual Linux link cases). Hosted platform compilation, the real aggregate shell and CodeQL are pending the refreshed exact-head checks; no local broad platform matrix was run for this workflow change.

Closes #293.

@itlezy itlezy added the parallel-approved Maintainer-approved exception for deliberately parallel human pull requests label Nov 11, 2026
@itlezy

itlezy commented Nov 11, 2026

Copy link
Copy Markdown
Contributor Author

Parent-coordinated consolidation: #314 owns the CI graph and merged Builder selection. AICH trust #248 and atomic settings #299 are independently owned reliability work, with atomic settings explicitly stacked after AICH. They are being qualified in isolated registered checkouts in parallel using the exact #314 workflow candidate. Merge order is #314, then AICH, then atomic settings; each dependent branch will be refreshed against the actual preceding merge and applicable checks rerun before merge. The parent owns ref updates, conflict review and merges. File ownership and dependencies are recorded; no required CI/CodeQL gate is waived. This is the coordinated use of the parallel-approved policy, not an unrelated PR exception.

@itlezy

itlezy commented Nov 11, 2026

Copy link
Copy Markdown
Contributor Author

The parent is also qualifying the existing profile-ownership lane (#247) in parallel. Its seven Rust commits own daemon/profile/metadata lease lifetimes and are separate from CI graph changes, AICH trust and atomic settings. Actual Windows packaged-daemon proof passed: all three offline writer commands specifically rejected the busy profile without settings/root/bootstrap mutation; clean shutdown released ownership, durable partial progress survived restart, and the 12 MiB transfer completed with the expected hash. Its current workflow base is the same #314 candidate; merge order remains #314, AICH #315, atomic settings #316, then parent-reviewed independent lanes. The parent will refresh exact branches and require applicable checks before each merge. No required status or author policy is waived; all affected human PRs carry the coordinated parallel-approved label.

@itlezy
itlezy merged commit 08bfe94 into main Nov 11, 2026
31 of 45 checks passed
@itlezy
itlezy deleted the chore/rust-platform-gates branch November 11, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

parallel-approved Maintainer-approved exception for deliberately parallel human pull requests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RUST-CI-035 - Separate mandatory Windows/Linux gates from optional platform outcomes

1 participant