mirror of
https://github.com/trustedsec/hate_crack.git
synced 2026-07-28 14:47:22 -07:00
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:
@@ -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:
|
||||
@@ -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
|
||||
@@ -9,12 +9,26 @@
|
||||
|
||||
## Status
|
||||
|
||||
[](https://github.com/trustedsec/hate_crack/actions/workflows/tests.yml)
|
||||
**Code Quality & Testing:**
|
||||
|
||||
**CI/CD Checks:**
|
||||
- **Linting (Ruff)** - Code quality and formatting validation
|
||||
- **Type Checking (Mypy)** - Static type analysis
|
||||
- **Testing** - Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14
|
||||
[](https://github.com/trustedsec/hate_crack/actions/workflows/ruff.yml)
|
||||
[](https://github.com/trustedsec/hate_crack/actions/workflows/mypy.yml)
|
||||
[](https://github.com/trustedsec/hate_crack/actions/workflows/pytest.yml)
|
||||
|
||||
**What Each Badge Represents:**
|
||||
|
||||
- **Ruff** - 🔍 Code quality and style validation
|
||||
- ✅ **PASS**: Code follows linting rules and best practices
|
||||
- ❌ **FAIL**: Code has style violations or quality issues
|
||||
|
||||
- **Mypy** - 🔬 Static type checking
|
||||
- ✅ **PASS**: No type errors detected
|
||||
- ❌ **FAIL**: Type mismatches or missing annotations found
|
||||
|
||||
- **Pytest** - ✔️ Testing across Python 3.9-3.14
|
||||
- ✅ **PASS**: All tests pass on all supported Python versions
|
||||
- ⚠️ **PARTIAL**: Tests pass on some versions but fail on others
|
||||
- ❌ **FAIL**: Tests fail on one or more Python versions
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user