ci: split tests workflow into separate ruff, mypy, and pytest workflows

- Create individual workflow files for ruff, mypy, and pytest
- Each workflow has its own status badge for independent monitoring
- Ruff badge shows code quality status
- Mypy badge shows type checking status
- Pytest badge shows multi-version testing status
- Update README with all three badges and clear status documentation
- Remove combined tests.yml in favor of granular workflows
This commit is contained in:
Justin Bollinger
2026-02-06 09:49:30 -05:00
parent 8ef6c1cba2
commit 94e1377137
4 changed files with 72 additions and 29 deletions
+26
View File
@@ -0,0 +1,26 @@
name: mypy
on:
push:
pull_request:
jobs:
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install uv
run: python -m pip install --upgrade pip uv==0.9.28
- name: Install dev dependencies
run: |
uv venv .venv
uv pip install --python .venv/bin/python ".[dev]"
- name: Run mypy
run: .venv/bin/mypy hate_crack
@@ -1,33 +1,10 @@
name: tests
name: pytest
on:
push:
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install uv
run: python -m pip install --upgrade pip uv==0.9.28
- name: Install dev dependencies
run: |
uv venv .venv
uv pip install --python .venv/bin/python ".[dev]"
- name: Run ruff
run: .venv/bin/ruff check hate_crack
- name: Run mypy
run: .venv/bin/mypy hate_crack
pytest:
runs-on: ubuntu-latest
strategy:
+26
View File
@@ -0,0 +1,26 @@
name: ruff
on:
push:
pull_request:
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install uv
run: python -m pip install --upgrade pip uv==0.9.28
- name: Install dev dependencies
run: |
uv venv .venv
uv pip install --python .venv/bin/python ".[dev]"
- name: Run ruff
run: .venv/bin/ruff check hate_crack