Conversation
- Add windows-latest to Bazel test, failure test, and integration test matrices - Use --enable_platform_specific_config for platform-specific C++ flags - MSVC uses /std:c++17 instead of -std=c++17 - Add shell: bash to CI steps for cross-platform compatibility Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace bash wrapper script in requirements.bzl with --output flag on the Python validation script (fixes CreateProcessW .sh error) - Add target_compatible_with to Rust targets to skip on Windows (rules_rust process_wrapper linking fails on Windows) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Required for @platforms//os:windows repo mapping in Bzlmod. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
83efff0 to
06ded04
Compare
- Bump Windows C++ standard to /std:c++20 (MSVC requires C++20 for designated initializers) - Add encoding="utf-8" to all open() calls in release_report.py and validate_release_readiness.py (Windows defaults to cp1252) - Disable fail-fast on test and integration-test matrices so a Windows failure doesn't cancel Linux/macOS jobs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
target_compatible_with doesn't prevent Rust toolchain resolution, so the process_wrapper still fails to link. Exclude Rust targets from Windows builds at the CI level instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
rules_rust eagerly builds its process_wrapper when any package references Rust rules, even if individual targets are excluded. Use explicit non-Rust target lists on Windows instead of //... Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backslash line continuations in YAML pipe blocks break on Windows Git Bash, causing target paths to lose their leading //. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ndows Git Bash on Windows (MSYS) converts Unix-style paths, which strips the // prefix from Bazel target patterns like //examples:foo, causing "invalid package name '/examples'" errors. Set MSYS_NO_PATHCONV=1 and MSYS2_ARG_CONV_EXCL="*" in all CI steps and shell scripts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… paths MSYS_NO_PATHCONV=1 broke repository_cache paths by preventing conversion of $HOME to Windows format. Instead, use MSYS2_ARG_CONV_EXCL="*" to stop Bazel target // conversion, and cygpath -w to explicitly convert cache paths to Windows format. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace //fire/starlark/... with explicit package list on Windows, skipping parameter_version (its BUILD loads rules_rust which triggers broken toolchain resolution) - Skip release_readiness_test on Windows in integration test (the macro generates a .sh test script that CreateProcessW cannot execute) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add encoding="utf-8" to NamedTemporaryFile calls that write Unicode characters (✓,⚠️ ) which cp1252 cannot encode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
nesono
commented
Mar 22, 2026
nesono
commented
Mar 22, 2026
…dows Address PR review feedback: - Add build:windows --build_tag_filters=-requires-rust to .bazelrc so Rust targets are automatically excluded on Windows - Tag all Rust targets with "requires-rust" in BUILD files - Remove MSYS2_ARG_CONV_EXCL hacks and cygpath workarounds from CI - Remove hardcoded --config=ci from scripts; accept BAZEL_EXTRA_OPTS from environment so scripts work on dev machines too - Simplify CI yaml to use //... for all platforms Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub Actions env: context doesn't expand $HOME — it passes the literal string. Move to shell export so $HOME expands at runtime. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add requires-shell tag to release_readiness_test (generates .sh test script that Windows cannot execute via CreateProcessW) - Add -requires-shell to build/test tag filters in .bazelrc for Windows - Remove manual IS_WINDOWS check from integration run.sh (handled by .bazelrc tag filters now) - Add fail-fast: false to failure-tests matrix Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On Windows, --test_tag_filters=-requires-shell causes bazel test with an explicit target to return exit code 4 (no test targets found). Treat this as a skip rather than a failure. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
nesono
commented
Mar 29, 2026
nesono
commented
Mar 29, 2026
Add section covering Rust exclusion tags, shell-based test rules, required .bazelrc platform config, MSVC C++20 requirement, and UTF-8 file encoding. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
windows-latestto Bazel test matrix (alongside ubuntu/macos), failure tests, and integration tests--enable_platform_specific_configin.bazelrcfor platform-specific C++ flags (/std:c++17for MSVC vs-std=c++17for GCC/Clang)shell: bashto CI steps so shell scripts run via Git Bash on WindowsCloses #221
Test plan
.bazelrcchanges🤖 Generated with Claude Code