57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
pull_request:
|
|
|
|
jobs:
|
|
pytest:
|
|
timeout-minutes: 15
|
|
# ``fail-fast: false`` so a single failing (os, python-version) cell
|
|
# doesn't cancel the rest of the matrix. Useful while the Windows
|
|
# leg is being brought up — we want to see all four cell results
|
|
# in one CI run instead of playing whack-a-mole one failure at a
|
|
# time. See #207.
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
python-version: ["3.11", "3.12"]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Check out shared usage fixtures
|
|
uses: actions/checkout@v5
|
|
with:
|
|
repository: EvoScientist/EvoScientist-WebUI
|
|
path: EvoScientist-WebUI
|
|
- uses: astral-sh/setup-uv@v6
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
cache-dependency-glob: "**/pyproject.toml"
|
|
- name: Install dependencies
|
|
run: uv sync --dev
|
|
- name: Run pytest
|
|
run: uv run pytest -v --timeout=30
|
|
env:
|
|
EVOSCIENTIST_USAGE_FIXTURES: ${{ github.workspace }}/EvoScientist-WebUI/docs/schemas/fixtures
|
|
|
|
usage-spool-benchmark:
|
|
timeout-minutes: 15
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: astral-sh/setup-uv@v6
|
|
with:
|
|
python-version: "3.11"
|
|
cache-dependency-glob: "**/pyproject.toml"
|
|
- name: Install dependencies
|
|
run: uv sync --dev
|
|
- name: Verify durable spool latency
|
|
run: uv run python scripts/benchmark_usage_spool.py
|