Repository navigation
ci: keep MSVC /Brepro flags intact in Git Bash - #5489
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
⏭️ Performance benchmarks were skippedPerf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to To run them on this PR, do any of the following, then push a commit (or re-run CI):
|
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Native Windows ARM64 wrapper builds select `llvm-lib.exe`, which treats `/Brepro` as an input filename and fails with `/Brepro: no such file or directory`. Clear the ARM64 archiver flags while retaining `/Brepro` for the x64 MSVC archiver. LLVM's COFF archiver already writes deterministic archives by default. This is the remaining archiver failure exposed after BoundaryML#5489 stopped MSYS2 from converting the flags into paths. Failure example: https://github.com/BoundaryML/baml/actions/runs/41558436389/job/125663254593. Validation: reproduced the unsupported-flag failure with LLVM using an ARM64 Windows COFF object, then successfully wrote two byte-identical libraries without the flag after changing the object's filesystem timestamp. Sourcing `.envrc` clears an inherited ARM64 `/Brepro` value and preserves the x64 flag. Shell syntax and applicable prek checks pass. LLVM's implementation explicitly enables deterministic output: https://github.com/llvm/llvm-project/blob/main/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **Chores** * Updated build settings for native ARM64 Windows builds. The build no longer passes an unsupported option to the library tool; application behavior is unchanged. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Windows wrapper tests in merge queue fail before running the suite because Git Bash converts
ARFLAGS_<target>=/BreprointoC:/Program Files/Git/Brepro.lib.exethen treats the split value as input files and fails withLNK1181: cannot open input file 'C:\Program'.Exclude only the two MSVC archiver environment variables from MSYS2 environment conversion. This retains the reproducible static-library flag added in #5487 and preserves existing conversion exclusions, including the wildcard. The setting is applied before
.envrcstarts native subprocesses such asdirenv dump.Validation:
bash -n .envrc, applicable prek checks, and sourcing.envrcwith unset, existing-prefix, and wildcard exclusions all pass. The queued Windows wrapper jobs provide the native validation once this fix reaches their base.This fixes the Windows blocker for stack #5464. Failure example: https://github.com/BoundaryML/baml/actions/runs/41557370744/job/125659637503. MSYS2 documents this control at https://www.msys2.org/docs/filesystem-paths/#environment-variables.
Summary by CodeRabbit