mirror of
https://github.com/astral-sh/uv
synced 2026-01-22 05:50:25 -05:00
This file is too big for an LLM context window and several contributors have complained about it being too scary to touch. This also gets us collapsible sections in the UI. I renamed some jobs for clarity in the meantime. And added a meta-job for required checks passing so we can avoid churn in our "Settings" when we change job names. Note this was entirely refactored by Claude. --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
90 lines
3.0 KiB
YAML
90 lines
3.0 KiB
YAML
on:
|
|
workflow_call:
|
|
|
|
permissions: {}
|
|
|
|
env:
|
|
CARGO_INCREMENTAL: 0
|
|
CARGO_NET_RETRY: 10
|
|
CARGO_TERM_COLOR: always
|
|
RUSTUP_MAX_RETRIES: 10
|
|
|
|
jobs:
|
|
benchmarks-walltime:
|
|
name: "walltime on aarch64 linux"
|
|
runs-on: codspeed-macro
|
|
if: ${{ github.repository == 'astral-sh/uv' }}
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Checkout Branch"
|
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
|
|
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
|
|
- name: "Install codspeed"
|
|
uses: taiki-e/install-action@d850aa816998e5cf15f67a78c7b933f2a5033f8a # v2.63.3
|
|
with:
|
|
tool: cargo-codspeed
|
|
|
|
- name: "Install requirements and prime cache"
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libsasl2-dev libldap2-dev libkrb5-dev
|
|
cargo run --bin uv -- venv --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/jupyter.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/airflow.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
|
|
- name: "Build benchmarks"
|
|
run: cargo codspeed build --profile profiling -p uv-bench
|
|
|
|
- name: "Run benchmarks"
|
|
uses: CodSpeedHQ/action@346a2d8a8d9d38909abd0bc3d23f773110f076ad # v4.4.1
|
|
with:
|
|
run: cargo codspeed run
|
|
mode: walltime
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|
|
|
|
benchmarks-simulated:
|
|
name: "simulated"
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.repository == 'astral-sh/uv' }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: "Checkout Branch"
|
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
|
|
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
|
|
- name: "Install codspeed"
|
|
uses: taiki-e/install-action@d850aa816998e5cf15f67a78c7b933f2a5033f8a # v2.63.3
|
|
with:
|
|
tool: cargo-codspeed
|
|
|
|
- name: "Install requirements and prime cache"
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libsasl2-dev libldap2-dev libkrb5-dev
|
|
cargo run --bin uv -- venv --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/jupyter.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/airflow.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
|
|
- name: "Build benchmarks"
|
|
run: cargo codspeed build --profile profiling -p uv-bench
|
|
|
|
- name: "Run benchmarks"
|
|
uses: CodSpeedHQ/action@346a2d8a8d9d38909abd0bc3d23f773110f076ad # v4.4.1
|
|
with:
|
|
run: cargo codspeed run
|
|
mode: simulation
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|