Skip to content

deps: update discord-py requirement from >=2.3 to >=2.7.1 #5

deps: update discord-py requirement from >=2.3 to >=2.7.1

deps: update discord-py requirement from >=2.3 to >=2.7.1 #5

Workflow file for this run

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