Skip to content

fix(ci): repair native-root provider bootstrap and Windows probe - #11762

Merged
proggeramlug merged 8 commits into
mainfrom
codex/macos-provider-frameworks-20261002
Oct 3, 2026
Merged

proggeramlug merged 8 commits into
mainfrom
codex/macos-provider-frameworks-20261002

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

The native-root workflow had two fixture failures: Windows probe 09 expected the old WinEH funclet refusal even though the compiler now correctly avoids that path, and the macOS stdlib provider omitted required frameworks and generated bootstrap exports.

Update the Windows probe to check current compiler behavior, Node parity and positive moving-GC evidence while retaining the real compiler unit that rejects funclet modules before RS4GC. Link the Darwin provider with CoreFoundation/Foundation, retain the typed js_stdlib_install_compiled and js_stdlib_register_feature_installer functions, and add both to its explicit export list. No production Rust, external ABI or GC root-store behavior changes.

At final head 5a779d7c477f7e70318475f2fe0c8b1c36b9b6c3:

  • The locked release compiler and matching runtime/stdlib static libraries built in 541.66 seconds.
  • The real linker::tests::rs4gc_refuses_wineh_funclet_modules_before_the_pass_runs test ran and passed.
  • Full script lint passed all 111 gates in 533.11 seconds; the compile tier and two CI-only commands were explicitly skipped.
  • The final three-package product was restored, frozen and SHA256 verified with clean exact-head source. No Cargo test ran afterward against that frozen product.
  • Fixture routing controls verify the old Darwin export omission, the exact two added exports, preserved unrelated exports and unchanged Linux arguments. Rustfmt, shell syntax and whitespace checks pass.

Current native dispatch 37004772458 has successful whole Linux, ARM Linux, Windows and macOS jobs at this exact head. The Windows provider-dylib step is skipped as platform-inapplicable; its native-root probes pass. The Linux/ARM/macOS provider-boundary steps pass. The native aggregate and whole native workflow also completed successfully. Required PR-tier acceptance remains pending; this is not overall CI approval.

Earlier head e6f5b7eb36d435ee8ba5dae9a443d14ac209e537 fixed framework linking and passed the runtime-only provider GC witness, then failed Response application loading on _js_stdlib_install_compiled. That failure prompted the two bootstrap pins/exports above and remains recorded; it is not waived.

This combines the original Windows repair #11755. Keep that PR open until this replacement is verified merged. Local validation and all four native-platform jobs are complete. Ready for review; hosted PR acceptance remains required before merging.

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: b0a9454b-ffa5-4bbc-ac48-de7a5212c7f2

📥 Commits

Reviewing files that changed from the base of the PR and between 7443a2b and 5a779d7.

📒 Files selected for processing (5)
  • .github/workflows/gc-native-roots.yml
  • changelog.d/11755-windows-try-root-probe.md
  • changelog.d/11762-macos-provider-frameworks.md
  • tests/fixtures/issue_8075_provider_gc/stdlib-linker.sh
  • tests/fixtures/issue_8075_provider_gc/stdlib-provider/src/lib.rs

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

The workflow now runs the Windows try/catch probe with GC diagnostics and checks its evacuation-liveness and statepoint reports. The stdlib provider fixture adds Darwin framework links and retains and exports feature-installation entry points.

Changes

Windows GC probe

Layer / File(s) Summary
Try/catch probe execution and assertions
.github/workflows/gc-native-roots.yml, changelog.d/11755-windows-try-root-probe.md
The workflow runs the try/catch probe on Windows, enables GC diagnostics, checks evacuation liveness, and requires a statepoint report on all targets. The changelog describes the probe coverage and continued refusal of actual WinEH funclet IR.

macOS stdlib provider

Layer / File(s) Summary
Provider linking and retained exports
tests/fixtures/issue_8075_provider_gc/stdlib-linker.sh, tests/fixtures/issue_8075_provider_gc/stdlib-provider/src/lib.rs, changelog.d/11762-macos-provider-frameworks.md
The linker script exports the feature installer functions and adds CoreFoundation and Foundation when linking a runtime rlib on Darwin. The provider wrapper retains references to both functions. The changelog records these changes.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 5a779

No concrete issue currently blocks merging; complete the required aggregate checks before merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the Windows probe and native-root provider bootstrap changes.
Description check ✅ Passed The description explains the changes, related PR context, validation results, platform-specific CI status, and remaining acceptance requirements. It provides substantial test-plan detail, though it do…
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@proggeramlug proggeramlug changed the title fix(ci): link frameworks in the macOS stdlib provider fixture ci(gc): repair Windows try-root execution and macOS provider linking Oct 2, 2026
@proggeramlug proggeramlug changed the title ci(gc): repair Windows try-root execution and macOS provider linking fix(ci): repair native-root provider bootstrap and Windows probe Oct 2, 2026
@proggeramlug
proggeramlug marked this pull request as ready for review October 2, 2026 13:33
@proggeramlug
proggeramlug merged commit ebc858c into main Oct 3, 2026
23 checks passed
@proggeramlug
proggeramlug deleted the codex/macos-provider-frameworks-20261002 branch October 3, 2026 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant