Compare commits

...

3 Commits

Author SHA1 Message Date
Michael Bolin
f714e73a58 ci: sample cargo timing artifacts by default 2026-02-21 00:19:08 -08:00
Michael Bolin
90f1e35bc7 ci: limit clippy --tests to one representative target 2026-02-21 00:18:26 -08:00
Michael Bolin
6575795777 ci: skip windows arm64 tests on PRs in rust-ci 2026-02-21 00:18:26 -08:00

View File

@@ -145,6 +145,8 @@ jobs:
- runner: windows-arm64
target: aarch64-pc-windows-msvc
profile: dev
# This is consistently the slowest test job; keep runtime coverage on pushes/manual runs.
skip_on_pr: true
runs_on:
group: codex-runners
labels: codex-windows-arm64
@@ -387,11 +389,28 @@ jobs:
cargo chef prepare --recipe-path "$RECIPE"
cargo chef cook --recipe-path "$RECIPE" --target ${{ matrix.target }} --release --all-features
# Cargo timings show `--tests` repeatedly rebuilding heavy test targets
# (especially codex-core) across the full matrix. Keep test linting on one
# representative dev target and let nextest continue compiling tests on the
# runtime test matrix.
- name: cargo clippy
run: cargo clippy --target ${{ matrix.target }} --all-features --tests --profile ${{ matrix.profile }} --timings -- -D warnings
shell: bash
env:
CAPTURE_CARGO_TIMINGS: ${{ (github.event_name == 'workflow_dispatch' || (matrix.target == 'x86_64-unknown-linux-gnu' && matrix.profile == 'dev')) && 'true' || 'false' }}
run: |
set -euo pipefail
args=(cargo clippy --target "${{ matrix.target }}" --all-features --profile "${{ matrix.profile }}")
if [[ "${{ matrix.profile }}" == 'dev' && "${{ matrix.target }}" == 'x86_64-unknown-linux-gnu' ]]; then
args+=(--tests)
fi
if [[ "${CAPTURE_CARGO_TIMINGS}" == 'true' ]]; then
args+=(--timings)
fi
args+=(-- -D warnings)
"${args[@]}"
- name: Upload Cargo timings (clippy)
if: always()
if: ${{ always() && (github.event_name == 'workflow_dispatch' || (matrix.target == 'x86_64-unknown-linux-gnu' && matrix.profile == 'dev')) }}
uses: actions/upload-artifact@v6
with:
name: cargo-timings-rust-ci-clippy-${{ matrix.target }}-${{ matrix.profile }}
@@ -577,6 +596,7 @@ jobs:
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-
- uses: taiki-e/install-action@44c6d64aa62cd779e873306675c7a58e86d6d532 # v2
if: ${{ !(github.event_name == 'pull_request' && matrix.target == 'aarch64-pc-windows-msvc') }}
with:
tool: nextest
version: 0.9.103
@@ -594,13 +614,22 @@ jobs:
- name: tests
id: test
run: cargo nextest run --all-features --no-fail-fast --target ${{ matrix.target }} --cargo-profile ci-test --timings
if: ${{ !(github.event_name == 'pull_request' && matrix.target == 'aarch64-pc-windows-msvc') }}
shell: bash
env:
CAPTURE_CARGO_TIMINGS: ${{ (github.event_name == 'workflow_dispatch' || matrix.target == 'x86_64-unknown-linux-gnu') && 'true' || 'false' }}
RUST_BACKTRACE: 1
NEXTEST_STATUS_LEVEL: leak
run: |
set -euo pipefail
args=(cargo nextest run --all-features --no-fail-fast --target "${{ matrix.target }}" --cargo-profile ci-test)
if [[ "${CAPTURE_CARGO_TIMINGS}" == 'true' ]]; then
args+=(--timings)
fi
"${args[@]}"
- name: Upload Cargo timings (nextest)
if: always()
if: ${{ always() && (github.event_name == 'workflow_dispatch' || matrix.target == 'x86_64-unknown-linux-gnu') }}
uses: actions/upload-artifact@v6
with:
name: cargo-timings-rust-ci-nextest-${{ matrix.target }}-${{ matrix.profile }}