- .gitea/workflows/ci.yml: ruff + matrix pytest on 3.10/3.11/3.12 on push and PR to main; concurrency cancels superseded runs - .gitea/workflows/release.yml: gate (ruff + pytest) + build sdist/wheel on tag 'v*', uploads via actions/upload-artifact@v4 - README.md: add ci and version badges right under H1 - src/viandante/cli.py: drop unused prompt_toolkit.patch_stdout import - tests/test_deadsouls.py: add missing RoomBlock import (F821) - tests/test_logger.py: drop unused local 'raw' in unicode test - tests/test_mapper.py: rename unused locals to _a/_b/_c (F841) to preserve intent (B has 's' back-edge; C is orphan)
59 lines
1.3 KiB
YAML
59 lines
1.3 KiB
YAML
name: ci
|
|
|
|
"on":
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
ruff:
|
|
name: lint (ruff)
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python 3.12 (for ruff)
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install dev extras (pulls ruff from pyproject)
|
|
run: |
|
|
python -m pip install -U pip
|
|
python -m pip install -e ".[dev]"
|
|
|
|
- name: Run ruff
|
|
run: python -m ruff check src tests
|
|
|
|
pytest:
|
|
name: pytest (py${{ matrix.python-version }})
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: ["3.10", "3.11", "3.12"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
cache: pip
|
|
cache-dependency-path: pyproject.toml
|
|
|
|
- name: Install dev extras
|
|
run: |
|
|
python -m pip install -U pip
|
|
python -m pip install -e ".[dev]"
|
|
|
|
- name: Run pytest
|
|
run: python -m pytest -q
|