Files
hate_crack/.github/workflows/pytest.yml
Justin Bollinger de2b400f6d chore: align CI and tooling with global development standards
- Remove 6 duplicate per-version pytest workflows (matrix build covers all)
- Pin GitHub Actions to SHA hashes with version comments
- Add persist-credentials: false to checkout steps
- Replace mypy with ty for type checking (faster, stricter)
- Pin dev deps to exact versions (ty==0.0.17, ruff==0.15.1, pytest==9.0.2, pytest-cov==7.0.0)
- Remove types-* stub packages (ty doesn't need them)
- Remove stale [dependency-groups] section from pyproject.toml
- Update shell scripts to use set -euo pipefail
- Add prek.toml for git hook management (pre-push, post-commit)
- Add lint-infra.yml workflow (shellcheck + actionlint)
- Fix actionlint warning: pass github.head_ref through env var
- Track CLAUDE.md and .claude/ scripts in git
- Update README.md and Makefile references from mypy to ty

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 12:42:51 -05:00

40 lines
1.0 KiB
YAML

name: pytest
on:
push:
pull_request:
jobs:
pytest:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: ${{ matrix.python-version }}
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y p7zip-full transmission-cli
- name: Install uv
run: python -m pip install --upgrade pip uv==0.9.28
- name: Install project dependencies
run: |
uv venv .venv
uv pip install --python .venv/bin/python ".[dev]"
- name: Run tests
env:
HATE_CRACK_RUN_E2E: "0"
HATE_CRACK_RUN_DOCKER_TESTS: "0"
HATE_CRACK_RUN_LIVE_TESTS: "0"
HATE_CRACK_SKIP_INIT: "1"
run: .venv/bin/python -m pytest