deps: update discord-py requirement from >=2.3 to >=2.7.1 #5
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python 3.12 | |
| run: uv python install 3.12 | |
| - name: Install system cairo | |
| run: sudo apt-get update && sudo apt-get install -y libcairo2 libcairo2-dev | |
| - name: Install project | |
| run: uv sync | |
| - name: Ruff | |
| run: uv run ruff check renderer/ bot/ render_quick.py render_dual.py | |
| typecheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python 3.12 | |
| run: uv python install 3.12 | |
| - name: Install system cairo | |
| run: sudo apt-get update && sudo apt-get install -y libcairo2 libcairo2-dev | |
| - name: Install project | |
| run: uv sync | |
| - name: Mypy | |
| run: uv run mypy renderer/ bot/ | |
| continue-on-error: true # advisory — cairo/discord types are non-trivial | |
| tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python 3.12 | |
| run: uv python install 3.12 | |
| - name: Install system cairo | |
| run: sudo apt-get update && sudo apt-get install -y libcairo2 libcairo2-dev | |
| - name: Install project | |
| run: uv sync | |
| - name: Pytest | |
| # No sanitised fixtures are committed — the suite is expected to | |
| # skip everything cleanly. We only want to catch import / collection | |
| # errors here, not gate on real-replay behaviour. | |
| run: uv run pytest tests/ -v | |
| syntax: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: AST parse all sources | |
| run: | | |
| python -c "import ast, pathlib; [ast.parse(p.read_text()) for p in pathlib.Path('renderer').rglob('*.py')]; [ast.parse(p.read_text()) for p in pathlib.Path('bot').rglob('*.py')]; [ast.parse(p.read_text()) for p in pathlib.Path('tests').rglob('*.py')] if pathlib.Path('tests').exists() else None" | |
| golden-images: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python 3.12 | |
| run: uv python install 3.12 | |
| - name: Install system cairo | |
| run: sudo apt-get update && sudo apt-get install -y libcairo2 libcairo2-dev | |
| - name: Install project | |
| run: uv sync | |
| - name: Run golden-image tests (skips cleanly without fixtures) | |
| # Without fixture replays / gamedata in CI, every test should SKIP — | |
| # we only verify collection + import paths, not actual visual drift. | |
| run: uv run pytest tests/test_golden_images.py -v | |
| continue-on-error: true |