c3749daf48
Tests / test-linux (3.13) (push) Failing after 0s
Tests / test-linux (3.11) (push) Failing after 1s
Tests / lint (push) Failing after 0s
Tests / test-linux (3.9) (push) Failing after 1s
Docker / build (push) Failing after 1s
Docker / build-gpu (push) Failing after 2s
Tests / test-windows (push) Has been cancelled
Tests / test-macos (push) Has been cancelled
65 lines
2.3 KiB
YAML
65 lines
2.3 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [main, develop]
|
|
pull_request:
|
|
branches: [main, develop]
|
|
|
|
jobs:
|
|
test-linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.9", "3.11", "3.13"]
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
cache: 'pip'
|
|
- run: pip install -e ".[dev]"
|
|
- run: python -m pytest tests/ -v --ignore=tests/benchmarks --cov=mempalace --cov-report=term-missing --cov-fail-under=80 --durations=10
|
|
|
|
test-windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.13"
|
|
cache: 'pip'
|
|
- run: pip install -e ".[dev]"
|
|
# ChromaDB's rust HNSW core intermittently fails compaction on Windows
|
|
# ("Failed to apply logs to the hnsw segment writer") regardless of our
|
|
# code — a long-standing, non-reproducible-on-Linux/macOS flake. Retry
|
|
# ONLY that specific transient error (via --only-rerun) so real,
|
|
# deterministic failures still fail on the first run. Linux/macOS jobs
|
|
# deliberately run with no reruns so genuine regressions surface there.
|
|
- run: python -m pytest tests/ -v --ignore=tests/benchmarks --cov=mempalace --cov-report=term-missing --cov-fail-under=80 --durations=10 --reruns 2 --reruns-delay 5 --only-rerun "Failed to apply logs to the hnsw segment writer"
|
|
|
|
test-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.13"
|
|
cache: 'pip'
|
|
- run: pip install -e ".[dev]"
|
|
- run: python -m pytest tests/ -v --ignore=tests/benchmarks --cov=mempalace --cov-report=term-missing --cov-fail-under=80 --durations=10
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.11"
|
|
cache: 'pip'
|
|
# Keep this pin identical to the `ruff==` pin in pyproject.toml
|
|
# ([project.optional-dependencies].dev and [dependency-groups].dev)
|
|
# so CI and `pip install -e ".[dev]"` format/lint identically.
|
|
- run: pip install "ruff==0.15.14"
|
|
- run: ruff check .
|
|
- run: ruff format --check .
|