ci: enable the Windows Bazel workflow path

This commit is contained in:
Michael Bolin
2026-03-27 19:34:32 -07:00
parent 142681ef93
commit ada573c8c1
9 changed files with 312 additions and 17 deletions
+83 -7
View File
@@ -17,6 +17,7 @@ concurrency:
cancel-in-progress: ${{ github.ref_name != 'main' }}
jobs:
test:
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
@@ -39,9 +40,9 @@ jobs:
# - os: ubuntu-24.04-arm
# target: aarch64-unknown-linux-gnu
# TODO: Enable Windows once we fix the toolchain issues there.
#- os: windows-latest
# target: x86_64-pc-windows-gnullvm
# Windows
- os: windows-latest
target: x86_64-pc-windows-gnullvm
runs-on: ${{ matrix.os }}
# Configure a human readable name for each job
@@ -67,8 +68,84 @@ jobs:
BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }}
shell: bash
run: |
# Keep V8 out of the ordinary Bazel CI path. Only the dedicated
# canary and release workflows should build `third_party/v8`.
bazel_targets=(
//...
# Keep V8 out of the ordinary Bazel CI path. Only the dedicated
# canary and release workflows should build `third_party/v8`.
-//third_party/v8:all
)
if [[ "${RUNNER_OS:-}" == "Windows" ]]; then
# This is intentionally a foothold rather than the final Windows
# Bazel suite. Keep a stable set of targets that are known not to
# pull in the unresolved V8 dependency so we can land meaningful CI
# coverage now and expand it once the V8 situation is understood.
bazel_targets=(
//codex-rs/analytics:analytics-unit-tests
//codex-rs/ansi-escape:ansi-escape-unit-tests
//codex-rs/app-server-protocol:app-server-protocol-schema_fixtures-test
//codex-rs/app-server-protocol:app-server-protocol-unit-tests
//codex-rs/apply-patch:apply-patch-all-test
//codex-rs/apply-patch:apply-patch-unit-tests
//codex-rs/async-utils:async-utils-unit-tests
//codex-rs/codex-api:codex-api-unit-tests
//codex-rs/codex-backend-openapi-models:codex-backend-openapi-models-unit-tests
//codex-rs/codex-client:codex-client-unit-tests
//codex-rs/codex-experimental-api-macros:codex-experimental-api-macros-unit-tests
//codex-rs/config:config-unit-tests
//codex-rs/connectors:connectors-unit-tests
//codex-rs/core-skills:core-skills-unit-tests
//codex-rs/exec-server:exec-server-unit-tests
//codex-rs/execpolicy-legacy:execpolicy-legacy-all-test
//codex-rs/execpolicy-legacy:execpolicy-legacy-unit-tests
//codex-rs/execpolicy:execpolicy-unit-tests
//codex-rs/features:features-unit-tests
//codex-rs/feedback:feedback-unit-tests
//codex-rs/file-search:file-search-unit-tests
//codex-rs/git-utils:git-utils-unit-tests
//codex-rs/hooks:hooks-unit-tests
//codex-rs/instructions:instructions-unit-tests
//codex-rs/keyring-store:keyring-store-unit-tests
//codex-rs/network-proxy:network-proxy-unit-tests
//codex-rs/otel:otel-unit-tests
//codex-rs/plugin:plugin-unit-tests
//codex-rs/process-hardening:process-hardening-unit-tests
//codex-rs/protocol:protocol-unit-tests
//codex-rs/responses-api-proxy:responses-api-proxy-unit-tests
//codex-rs/rmcp-client:rmcp-client-unit-tests
//codex-rs/rollout:rollout-unit-tests
//codex-rs/sandboxing:sandboxing-unit-tests
//codex-rs/secrets:secrets-unit-tests
//codex-rs/shell-escalation:shell-escalation-unit-tests
//codex-rs/skills:skills-unit-tests
//codex-rs/state:state-unit-tests
//codex-rs/stdio-to-uds:stdio-to-uds-unit-tests
//codex-rs/terminal-detection:terminal-detection-unit-tests
//codex-rs/tools:tools-unit-tests
//codex-rs/utils/absolute-path:absolute-path-unit-tests
//codex-rs/utils/approval-presets:approval-presets-unit-tests
//codex-rs/utils/cache:cache-unit-tests
//codex-rs/utils/cargo-bin:cargo-bin-unit-tests
//codex-rs/utils/cli:cli-unit-tests
//codex-rs/utils/elapsed:elapsed-unit-tests
//codex-rs/utils/fuzzy-match:fuzzy-match-unit-tests
//codex-rs/utils/home-dir:home-dir-unit-tests
//codex-rs/utils/image:image-unit-tests
//codex-rs/utils/json-to-toml:json-to-toml-unit-tests
//codex-rs/utils/output-truncation:output-truncation-unit-tests
//codex-rs/utils/path-utils:path-utils-unit-tests
//codex-rs/utils/plugins:plugins-unit-tests
//codex-rs/utils/pty:pty-unit-tests
//codex-rs/utils/readiness:readiness-unit-tests
//codex-rs/utils/rustls-provider:rustls-provider-unit-tests
//codex-rs/utils/sleep-inhibitor:sleep-inhibitor-unit-tests
//codex-rs/utils/stream-parser:stream-parser-unit-tests
//codex-rs/utils/string:string-unit-tests
//codex-rs/utils/template:template-unit-tests
//codex-rs/windows-sandbox-rs:windows-sandbox-rs-unit-tests
)
echo "Windows smoke target count: ${#bazel_targets[@]}"
fi
./.github/scripts/run-bazel-ci.sh \
--print-failed-test-logs \
--use-node-test-env \
@@ -77,8 +154,7 @@ jobs:
--test_verbose_timeout_warnings \
--build_metadata=COMMIT_SHA=${GITHUB_SHA} \
-- \
//... \
-//third_party/v8:all
"${bazel_targets[@]}"
# Save bazel repository cache explicitly; make non-fatal so cache uploading
# never fails the overall job. Only save when key wasn't hit.