mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 21:35:00 +00:00
Separate CI test runs from the matrix (#4518)
So we can skip them when there are not code changes and still enforce our required checks (xref #4438) Otherwise, the names are dynamic and they are forever expected (see #4426 for example)
This commit is contained in:
parent
7fe7d8b34e
commit
d2108bf360
1 changed files with 46 additions and 22 deletions
68
.github/workflows/ci.yml
vendored
68
.github/workflows/ci.yml
vendored
|
@ -114,23 +114,53 @@ jobs:
|
||||||
- run: cargo binstall --no-confirm cargo-shear
|
- run: cargo binstall --no-confirm cargo-shear
|
||||||
- run: cargo shear
|
- run: cargo shear
|
||||||
|
|
||||||
cargo-test-unix:
|
# We use the large GitHub actions runners
|
||||||
|
# For Ubuntu and Windows, this requires Organization-level configuration
|
||||||
|
# See: https://docs.github.com/en/actions/using-github-hosted-runners/about-larger-runners/about-larger-runners#about-ubuntu-and-windows-larger-runners
|
||||||
|
|
||||||
|
cargo-test-linux:
|
||||||
needs: determine_changes
|
needs: determine_changes
|
||||||
if: ${{ github.repository == 'astral-sh/uv' && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
if: ${{ github.repository == 'astral-sh/uv' && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
# We use the large GitHub actions runners
|
|
||||||
# For Ubuntu and Windows, this requires Organization-level configuration
|
|
||||||
# See: https://docs.github.com/en/actions/using-github-hosted-runners/about-larger-runners/about-larger-runners#about-ubuntu-and-windows-larger-runners
|
|
||||||
- os: "ubuntu"
|
|
||||||
runner: "ubuntu-latest-large"
|
|
||||||
- os: "macos"
|
|
||||||
runner: "macos-14"
|
|
||||||
fail-fast: false
|
|
||||||
runs-on:
|
runs-on:
|
||||||
labels: ${{ matrix.runner }}
|
labels: "ubuntu-latest-large"
|
||||||
name: "cargo test | ${{ matrix.os }}"
|
name: "cargo test | ubuntu"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: "Install Rust toolchain"
|
||||||
|
run: rustup show
|
||||||
|
|
||||||
|
- uses: rui314/setup-mold@v1
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
|
- name: "Install required Python versions"
|
||||||
|
run: |
|
||||||
|
cargo run toolchain install
|
||||||
|
|
||||||
|
- name: "Install cargo nextest"
|
||||||
|
uses: taiki-e/install-action@v2
|
||||||
|
with:
|
||||||
|
tool: cargo-nextest
|
||||||
|
|
||||||
|
- name: "Cargo test"
|
||||||
|
run: |
|
||||||
|
cargo nextest run \
|
||||||
|
--features python-patch \
|
||||||
|
--workspace \
|
||||||
|
--status-level skip --failure-output immediate-final --no-fail-fast -j 12 --final-status-level slow
|
||||||
|
|
||||||
|
- name: "Smoke test"
|
||||||
|
run: |
|
||||||
|
uv="./target/debug/uv"
|
||||||
|
$uv venv
|
||||||
|
$uv pip install ruff
|
||||||
|
|
||||||
|
cargo-test-macos:
|
||||||
|
needs: determine_changes
|
||||||
|
if: ${{ github.repository == 'astral-sh/uv' && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
||||||
|
runs-on:
|
||||||
|
labels: "macos-14"
|
||||||
|
name: "cargo test | macos"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: "Install Rust toolchain"
|
- name: "Install Rust toolchain"
|
||||||
|
@ -165,15 +195,9 @@ jobs:
|
||||||
cargo-test-windows:
|
cargo-test-windows:
|
||||||
needs: determine_changes
|
needs: determine_changes
|
||||||
if: ${{ github.repository == 'astral-sh/uv' && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
if: ${{ github.repository == 'astral-sh/uv' && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: "windows"
|
|
||||||
runner: "windows-latest-large"
|
|
||||||
fail-fast: false
|
|
||||||
runs-on:
|
runs-on:
|
||||||
labels: ${{ matrix.runner }}
|
labels: "windows-latest-large"
|
||||||
name: "cargo test | ${{ matrix.os }}"
|
name: "cargo test | windows"
|
||||||
steps:
|
steps:
|
||||||
- name: Create Dev Drive using ReFS
|
- name: Create Dev Drive using ReFS
|
||||||
run: |
|
run: |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue