From 023f9c679f6bea294c027cfd40568641b6a878a4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Oct 2026 03:59:10 +0000 Subject: [PATCH 1/3] Initial plan From 6f57142dfcd5cb53c7c02dc54d4063bdcd89e3f1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Oct 2026 04:08:01 +0000 Subject: [PATCH 2/3] build(ci): check Windows workspace with Bazel Co-authored-by: ScriptedAlchemy <25274700+ScriptedAlchemy@users.noreply.github.com> --- .github/workflows/ci.yml | 43 +++++++++++++--------------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77c8ed4556..45fcbf95d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -529,12 +529,17 @@ jobs: run: test "${{ needs.linux-test.result }}" = "success" windows-test: - name: Test Windows + name: Windows Bazel check needs: scope-gate - if: ${{ needs.scope-gate.outputs.run-os == 'true' }} + if: >- + ${{ needs.scope-gate.outputs.run-heavy == 'true' && + (github.event_name != 'workflow_dispatch' || + needs.scope-gate.outputs.run-os == 'true') }} runs-on: windows-latest timeout-minutes: 330 steps: + # Linux builds do not enable cfg(windows). Compile every Bazel target on + # native Windows for ready PRs and pushes; full tests remain dispatch-only. # Full history: the search-quality workload fixture pins a # `source_repository_commit`, and `validate_source_bindings` resolves that # object out of this checkout. @@ -552,9 +557,13 @@ jobs: with: cache-key: ci-windows-test - # `bazel test` builds every target in the pattern, so tests start - # while the rest of the workspace still links. - - name: Build and test the workspace + - name: Build and type-check the Windows workspace + if: ${{ github.event_name != 'workflow_dispatch' }} + shell: bash + run: bazel build --config=ci //... + + - name: Build and test the Windows workspace + if: ${{ github.event_name == 'workflow_dispatch' && needs.scope-gate.outputs.run-os == 'true' }} shell: bash run: bazel test --config=ci //... @@ -604,30 +613,6 @@ jobs: - name: Run blocking Clippy policy run: bazel build --config=ci --config=clippy //... - # Master pushes run no Windows lane, so `cfg(windows)` code otherwise - # first compiles in the release build. Bazel has no MSVC toolchain on - # Linux, so this cross-target type check stays on Cargo: `cargo check` - # needs no linker, and mingw supplies the C compiler the native build - # scripts run. macOS has no equivalent: its build scripts need the Apple - # SDK headers. - - name: Install pinned toolchain and Windows check target - run: | - rustup toolchain install - rustup target add x86_64-pc-windows-gnu - - - uses: ./.github/actions/setup-pnpm - - - name: Install the Windows C cross-compiler - run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends gcc-mingw-w64-x86-64 - - - name: Check the Windows target - run: >- - cargo check --workspace --all-targets --locked - --target x86_64-pc-windows-gnu - --features tracedecay/test-transport,tracedecay/test-helpers,tracedecay-cli/test-transport - - name: Save compiled Bazel actions if: always() && !cancelled() && github.ref == 'refs/heads/master' && steps.bazel.outputs.disk-cache-key != '' uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 From e4e019c255aa92fd42d23cc74d1b171abf8310ed Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Oct 2026 04:09:16 +0000 Subject: [PATCH 3/3] build(ci): run Windows Bazel check on draft PRs Co-authored-by: ScriptedAlchemy <25274700+ScriptedAlchemy@users.noreply.github.com> --- .github/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45fcbf95d3..cb3d8c396a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -532,14 +532,15 @@ jobs: name: Windows Bazel check needs: scope-gate if: >- - ${{ needs.scope-gate.outputs.run-heavy == 'true' && + ${{ github.event_name == 'pull_request' || + (needs.scope-gate.outputs.run-heavy == 'true' && (github.event_name != 'workflow_dispatch' || - needs.scope-gate.outputs.run-os == 'true') }} + needs.scope-gate.outputs.run-os == 'true')) }} runs-on: windows-latest timeout-minutes: 330 steps: # Linux builds do not enable cfg(windows). Compile every Bazel target on - # native Windows for ready PRs and pushes; full tests remain dispatch-only. + # native Windows for every PR and push; full tests remain dispatch-only. # Full history: the search-quality workload fixture pins a # `source_repository_commit`, and `validate_source_bindings` resolves that # object out of this checkout.