Add pyproject.toml and simplify CI workflow
Some checks failed
CI / test (push) Failing after 14s
CI / build (push) Has been skipped
CI / lint (push) Successful in 13s

This commit is contained in:
2026-03-22 21:59:51 +00:00
parent 97ccbb32a4
commit d7a1a473d9

View File

@@ -2,53 +2,63 @@ name: CI
on: on:
push: push:
branches: [ main, master ] branches: [ main ]
pull_request:
branches: [ main, master ]
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout
uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.10' python-version: '3.11'
- name: Install dependencies - name: Install dependencies
run: | run: |
pip install -e ".[dev]" pip install -e ".[dev]"
pip install ruff mypy
- name: Run tests
run: pytest tests/ -v
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -e .
pip install ruff
- name: Run linting - name: Run linting
run: ruff check src/ run: ruff check src/
- name: Run type checking
run: mypy src/mockapi/ || true
- name: Run tests
run: pytest tests/unit/test_generators.py tests/unit/test_config.py tests/unit/test_validator.py tests/integration/test_cli.py tests/integration/test_server.py -v
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test needs: test
steps: steps:
- uses: actions/checkout@v4 - name: Checkout
uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.10' python-version: '3.11'
- name: Install build dependencies - name: Install build dependencies
run: | run: pip install build
pip install build
- name: Build package - name: Build package
run: | run: python -m build
python -m build
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4