Skip to content

test(ci): support Cargo 1.100 build-script output layout - #1421

Merged
yyjeqhc merged 1 commit into
mainfrom
fix/cargo-build-identity-layout-20261115
Nov 15, 2026
Merged

yyjeqhc merged 1 commit into
mainfrom
fix/cargo-build-identity-layout-20261115

Conversation

@swjnxyf

@swjnxyf swjnxyf commented Nov 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fix the Build Identity fixture tests for Cargo 1.100's changed intermediate build-directory layout, without changing production code.

  • Read the canonical OUT_DIR from Cargo's build-script-executed JSON message instead of hard-coding target/debug/build/identity-fixture-*/output.
  • Resolve the captured build-script stdout using the legacy output or new run/stdout form relative to that Cargo-provided directory.
  • Retain all assertions for packed refs without reflogs, linked worktrees, same-HEAD dirty tracking, exact build-script output timestamps, and no-op rebuilds.

Why

Related to #1420: its CI run #43710045930 has two independent originating failures (test-linux-tooling and contract) in unchanged scripts/tests/test_build_identity.py, which then cause four aggregate gate failures.

The failing CI uses Ubuntu 26.04 and Cargo 1.100.0; the previous successful main CI used Ubuntu 24.04 and Cargo 1.99.1. Cargo 1.100 relocates build-script output to <build-dir>/debug/build/<pkg>/<unit>/run/stdout, while the test assumed the pre-1.100 <build-dir>/debug/build/<pkg>-<hash>/output layout.

Verification (special)

  • Before the fix, RUSTUP_TOOLCHAIN=1.100.0 reproduced the same four CI assertion failures.
  • After the fix, python3 -m unittest scripts.tests.test_build_identity -v passes 5/5 with both Rust/Cargo 1.95.0 and 1.100.0.
  • RUSTUP_TOOLCHAIN=1.100.0 PYTHONDONTWRITEBYTECODE=1 bash scripts/release_check.sh --static-only passes, including 904 Python tests (32 skipped), npm installer/package smoke, and release static contracts.
  • git diff --check passes.

This PR is separate from #1420's Wake changes because #1420 originates from a fork with maintainer_can_modify=false; the maintainer cannot push a follow-up commit directly to that branch. Once merged into main, the updated base can be used to revalidate #1420. Keep its required CI checks enforced rather than bypassing them.

@yyjeqhc
yyjeqhc merged commit 9aef4ca into main Nov 15, 2026
18 checks passed
@yyjeqhc
yyjeqhc deleted the fix/cargo-build-identity-layout-20261115 branch November 15, 2026 14:21
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.

2 participants