Compare commits

...

2 Commits

Author SHA1 Message Date
starr-openai
4d1d4edebd test(ci): shard Windows nextest jobs
Split each Windows test target into two nextest partitions to reduce the
critical-path runtime of the slowest single test leg. Leave non-Windows
coverage unchanged for this experiment.

Co-authored-by: Codex <noreply@openai.com>
2026-03-18 21:34:40 -07:00
starr-openai
266743259b test(ci): re-enable sccache on Windows
Co-authored-by: Codex <noreply@openai.com>
2026-03-18 18:05:26 -07:00

View File

@@ -141,8 +141,8 @@ jobs:
run:
working-directory: codex-rs
env:
# Speed up repeated builds across CI runs by caching compiled objects (non-Windows).
USE_SCCACHE: ${{ startsWith(matrix.runner, 'windows') && 'false' || 'true' }}
# Speed up repeated builds across CI runs by caching compiled objects.
USE_SCCACHE: "true"
CARGO_INCREMENTAL: "0"
SCCACHE_CACHE_SIZE: 10G
# In rust-ci, representative release-profile checks use thin LTO for faster feedback.
@@ -497,7 +497,7 @@ jobs:
key: apt-${{ matrix.runner }}-${{ matrix.target }}-v1
tests:
name: Tests — ${{ matrix.runner }} - ${{ matrix.target }}
name: Tests — ${{ matrix.runner }} - ${{ matrix.target }}${{ matrix.shard && format(' ({0})', matrix.shard) || '' }}
runs-on: ${{ matrix.runs_on || matrix.runner }}
timeout-minutes: 30
needs: changed
@@ -506,8 +506,8 @@ jobs:
run:
working-directory: codex-rs
env:
# Speed up repeated builds across CI runs by caching compiled objects (non-Windows).
USE_SCCACHE: ${{ startsWith(matrix.runner, 'windows') && 'false' || 'true' }}
# Speed up repeated builds across CI runs by caching compiled objects.
USE_SCCACHE: "true"
CARGO_INCREMENTAL: "0"
SCCACHE_CACHE_SIZE: 10G
@@ -533,12 +533,32 @@ jobs:
- runner: windows-x64
target: x86_64-pc-windows-msvc
profile: dev
partition: count:1/2
shard: shard-1-of-2
runs_on:
group: codex-runners
labels: codex-windows-x64
- runner: windows-arm64
target: aarch64-pc-windows-msvc
profile: dev
partition: count:1/2
shard: shard-1-of-2
runs_on:
group: codex-runners
labels: codex-windows-arm64
- runner: windows-x64
target: x86_64-pc-windows-msvc
profile: dev
partition: count:2/2
shard: shard-2-of-2
runs_on:
group: codex-runners
labels: codex-windows-x64
- runner: windows-arm64
target: aarch64-pc-windows-msvc
profile: dev
partition: count:2/2
shard: shard-2-of-2
runs_on:
group: codex-runners
labels: codex-windows-arm64
@@ -644,7 +664,21 @@ jobs:
- name: tests
id: test
run: cargo nextest run --all-features --no-fail-fast --target ${{ matrix.target }} --cargo-profile ci-test --timings
shell: bash
run: |
set -euo pipefail
args=(
cargo nextest run
--all-features
--no-fail-fast
--target "${{ matrix.target }}"
--cargo-profile ci-test
--timings
)
if [[ -n "${{ matrix.partition || '' }}" ]]; then
args+=(--partition "${{ matrix.partition }}")
fi
"${args[@]}"
env:
RUST_BACKTRACE: 1
NEXTEST_STATUS_LEVEL: leak
@@ -653,7 +687,7 @@ jobs:
if: always()
uses: actions/upload-artifact@v7
with:
name: cargo-timings-rust-ci-nextest-${{ matrix.target }}-${{ matrix.profile }}
name: cargo-timings-rust-ci-nextest-${{ matrix.target }}-${{ matrix.profile }}${{ matrix.shard && format('-{0}', matrix.shard) || '' }}
path: codex-rs/target/**/cargo-timings/cargo-timing.html
if-no-files-found: warn