Skip to content

release: declare the MSVC PDB at every strip level, evidence cquery takes one union (part of #8410) - #8471

Merged
TrapsterDK merged 1 commit into
mainfrom
fix-8410-pdb-output
Nov 6, 2026
Merged

TrapsterDK merged 1 commit into
mainfrom
fix-8410-pdb-output

Conversation

@TrapsterDK

Copy link
Copy Markdown
Collaborator

Part of #8410

  • .github/workflows/evidence.yml: the determinism cquery gets the scope as one union (${DX_SCOPE// / + }). Safe because tools/ci/evidence_inputs.rs joins patterns with single spaces and only allows // or @rules_dx_ patterns. This fixes the failure after the build in run 42207809929.
  • New patches/rules_rust/msvc_pdb_output.patch: rules_rust only declared the rustc .pdb when strip_level == "none", so opt //cli/cli:dx_pdb was empty. rustc writes the PDB on MSVC at every strip level (Ignore -C strip on MSVC rust-lang/rust#115120, Match the behavior of strip and split-debuginfo across platforms rust-lang/compiler-team#669), so the patch declares it for every MSVC bin/cdylib. rustc's arguments do not change. Wired in MODULE.bazel, patches/rules_rust/BUILD.bazel, patches/README.md, cli/adopt (BUILD, overrides.rs plus its render test) and families/{android,apple,beam,dotnet,jvm}/third_party/rules_dx.
  • rust/rules/defs.bzl: the comment now says the PDB is declared through the patch.

Tests (local, linux):

  • PASSED: //tools/ci:actionlint_test, //tools/ci:evidence_inputs_test, //tools/ci:workflow_expressions_test, //rust/tests/fixtures/hello:wrapper_registry_tests, //patches/llvm:libunwind_copy_test.
  • //cli/adopt:dx_adopt_test: the rules_rust override drift and render checks pass. Two checks still fail, and both fail on main too: table_matches_the_repo_module_bazel ("MODULE.bazel overrides lua; add it to OVERRIDES") and preflight::deps_match_the_repo_module_bazel.
  • //tools/ci:input_validation_test evidence_runners_match_the_table fails on main too, because evidence.yml has no PLATFORMS dict.
  • Nested-Bazel and *_consumer_test targets were not run.

Windows evidence: run 42216510920 (task=build, relocate=true, --config=dx_release, windows_x86_64 + windows_arm64, scope //cli/cli:dx //cli/cli:dx_pdb //deploy/release:dx_host_cell). It was still running when this PR was opened. I'll add the determinism.txt digests for dx.exe and dx.pdb when it finishes.

Remaining for #8410: confirm match for dx.exe and dx.pdb on both cells in run 42216510920.

🤖 Generated with Claude Code

https://claude.ai/code/session_011u9TXHDZrfmzFQ2WT8QAKK

…akes one union (part of #8410)

rules_rust only declared the rustc .pdb when strip_level was none, so the
opt dx_pdb target was empty. rustc writes the PDB on MSVC whatever the
strip level (rust-lang/rust#115120), so msvc_pdb_output.patch declares it
for every MSVC bin and cdylib. evidence.yml joins the scope with + so the
determinism cquery gets one expression.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011u9TXHDZrfmzFQ2WT8QAKK
@TrapsterDK
TrapsterDK merged commit 2e9e4b6 into main Nov 6, 2026
1 of 3 checks passed
@TrapsterDK
TrapsterDK deleted the fix-8410-pdb-output branch November 6, 2026 12:44
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