Skip to content

ci(windows): run the local-symbol probes from the archive build - #599

Draft
aft-alfonso[bot] wants to merge 2 commits into
mainfrom
ci/windows-archive-probes
Draft

aft-alfonso[bot] wants to merge 2 commits into
mainfrom
ci/windows-archive-probes

Conversation

@aft-alfonso

@aft-alfonso aft-alfonso Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Draft measurement PR: Windows shard 1 runs the local-symbol backtrace probes from the archive build instead of cold-compiling a separate debug build. Timings collected for review; not for merge as-is (the enablement commit is temporary).


Summary by cubic

Runs the Windows local-symbol backtrace probes from the archive build's already-linked library harness instead of cold-compiling a separate debug build on shard one. Probes execute directly against the exact library binary named in the archive's metadata instead of through cargo test, which a native run showed recompiles the library anyway (5m24 after the 6m09 archive build); Python 3.14 streams the zstd archive metadata without extracting binaries, preserving the linked harness and its local PDB. Every Windows libtest shard now runs only archive-backed hash partitions.

  • Adds scripts/ci-windows-probes.py with libtest inventory checking, exactly-once execution, and child-status propagation, covered by 11 unit tests plus workflow ownership and gate-collection regressions.

Written for commit de2b840. Summary will update on new commits.

View guided diff Turn on auto-fix

ualtinok and others added 2 commits October 19, 2026 16:24
Reuse the already-linked library harness and its local PDB for both serial subprocess probes. Every Windows libtest shard now runs only archive-backed hash partitions, removing shard one's cold cargo test build without changing inventory or backtrace assertions.

Add workflow ownership and executable gate-collection regressions. Before the fix both new workflow tests failed; isolated missing-probe and restored-compile mutations each reddened only their named guard. Linux checks: 27 workflow, 6 gate-collection, 22 merge-queue, 4 Rust CI policy tests; Biome 2.4.7 checked 742 files. Native PR timing and missing-PDB red control follow as temporary validation commits.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Native PR experiment 39269945596 disproved warm package-scoped cargo test reuse: it recompiled agent-file-tools for 5m24 after the 6m09 archive build. Replace those calls with direct execution of the library harness named in the archive's original binary metadata. Python 3.14 streams the zstd metadata without extracting binaries, preserving the already-linked harness and its local PDB. Each exact probe is checked against libtest inventory before one invocation; failed child status propagates.

Keep archive compilation, inventory proof, shard exclusions and Rust backtrace assertions unchanged. Update the ownership test to require direct helper commands because retaining cargo test would preserve the demonstrated extra compile. Add 11 selector, compressed-archive, dispatch, zero-match and status tests in PR/Linux CI. Checks: Python 3.14.4 (11 helper, 27 workflow, 6 gate, 22 merge-queue, 4 Rust CI tests); Biome 2.4.7 checked 742 files; actionlint 1.7.12 checked 9 workflows. Exact-test predicate and producer-command mutations each failed only their named guard. Comment review passed. Native timing and actual missing-PDB control follow on draft PR #599.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
ualtinok added a commit that referenced this pull request Oct 19, 2026
Validation only; do not land. Enable just Windows archive and libtest matrix on draft PR #599. Permit those two temporary lanes in the event-policy tests, including the required archive context, so source guards stay green during the native experiment. All temporary exceptions and PR event changes are dropped afterward.

Python 3.14.4: 27 workflow and 22 merge-queue tests passed with these temporary gates. Comment review completed and clarified the archive exception comment.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
@ualtinok
ualtinok force-pushed the ci/windows-archive-probes branch 2 times, most recently from dc89b70 to de2b840 Compare October 19, 2026 16:53
ualtinok added a commit that referenced this pull request Oct 20, 2026
Native PR experiment 39269945596 disproved warm package-scoped cargo test reuse: it recompiled agent-file-tools for 5m24 after the 6m09 archive build. Replace those calls with direct execution of the library harness named in the archive's original binary metadata. Python 3.14 streams the zstd metadata without extracting binaries, preserving the already-linked harness and its local PDB. Each exact probe is checked against libtest inventory before one invocation; failed child status propagates.

Keep archive compilation, inventory proof, shard exclusions and Rust backtrace assertions unchanged. Update the ownership test to require direct helper commands because retaining cargo test would preserve the demonstrated extra compile. Add 11 selector, compressed-archive, dispatch, zero-match and status tests in PR/Linux CI. Checks: Python 3.14.4 (11 helper, 27 workflow, 6 gate, 22 merge-queue, 4 Rust CI tests); Biome 2.4.7 checked 742 files; actionlint 1.7.12 checked 9 workflows. Exact-test predicate and producer-command mutations each failed only their named guard. Comment review passed. Native timing and actual missing-PDB control follow on draft PR #599.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
ualtinok added a commit that referenced this pull request Oct 20, 2026
Native PR experiment 39269945596 disproved warm package-scoped cargo test reuse: it recompiled agent-file-tools for 5m24 after the 6m09 archive build. Replace those calls with direct execution of the library harness named in the archive's original binary metadata. Python 3.14 streams the zstd metadata without extracting binaries, preserving the already-linked harness and its local PDB. Each exact probe is checked against libtest inventory before one invocation; failed child status propagates.

Keep archive compilation, inventory proof, shard exclusions and Rust backtrace assertions unchanged. Update the ownership test to require direct helper commands because retaining cargo test would preserve the demonstrated extra compile. Add 11 selector, compressed-archive, dispatch, zero-match and status tests in PR/Linux CI. Checks: Python 3.14.4 (11 helper, 27 workflow, 6 gate, 22 merge-queue, 4 Rust CI tests); Biome 2.4.7 checked 742 files; actionlint 1.7.12 checked 9 workflows. Exact-test predicate and producer-command mutations each failed only their named guard. Comment review passed. Native timing and actual missing-PDB control follow on draft PR #599.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
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