Skip to content

fix(workers): classify benign contention vs faults; add in-tick OCC retry to the sweep (#66) #126

fix(workers): classify benign contention vs faults; add in-tick OCC retry to the sweep (#66)

fix(workers): classify benign contention vs faults; add in-tick OCC retry to the sweep (#66) #126

Workflow file for this run

name: ci
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PYTHON_VERSION: "3.13"
jobs:
lint:
name: ruff
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
with:
python-version: ${{ env.PYTHON_VERSION }}
enable-cache: true
- name: install
run: uv sync --locked --dev
- name: format check
run: uv run ruff format --check .
- name: lint
run: uv run ruff check .
typecheck:
name: mypy (strict)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
with:
python-version: ${{ env.PYTHON_VERSION }}
enable-cache: true
- name: install
run: uv sync --locked --dev
- name: mypy
run: uv run mypy
imports:
name: import-linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
with:
python-version: ${{ env.PYTHON_VERSION }}
enable-cache: true
- name: install
run: uv sync --locked --dev
- name: lint-imports
run: uv run lint-imports
test:
name: pytest & coverage gate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
with:
python-version: ${{ env.PYTHON_VERSION }}
enable-cache: true
- name: install
run: uv sync --locked --dev
- name: test (full suite, coverage >= 80%)
run: uv run pytest --cov=quartermaster --cov-report=term-missing --cov-fail-under=80
audit:
name: pip-audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
with:
python-version: ${{ env.PYTHON_VERSION }}
enable-cache: true
- name: install
run: uv sync --locked --dev
- name: pip-audit
run: uv run pip-audit