Files
romm/.github/workflows/copilot-setup-steps.yml
T
Sam DornanandClaude Fable 5.1 3c547dfbd0 chore(python): move the backend to Python 3.14
Bumps the runtime everywhere it is pinned: requires-python, the
.python-version uv reads, both Dockerfiles (with the python:3.14-alpine3.23
and uv 3.14 image digests), the six workflows that install Python, and the
contributor docs.

Several locked C-extension versions had no cp314 wheels, so the Alpine
image fell back to building them from source and failed on the missing
C++ and Rust toolchains. Those packages are upgraded within their existing
pyproject ranges: pydantic 2.11.7 -> 2.13.5 (pydantic-core 2.46.5), uvloop
0.22.1, grpcio 1.83.1, httptools 0.8.0, inflate64 1.0.4, markupsafe 3.0.3,
pyyaml 6.0.3 and streaming-form-data 1.20.0. The lockfile also drops the
3.13-only resolution branches.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-09-05 08:57:10 -05:00

55 lines
1.6 KiB
YAML

name: Copilot Setup Steps
on:
workflow_dispatch:
permissions:
contents: read
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
services:
mariadb:
image: mariadb:10.11
ports:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: passwd
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
valkey:
image: valkey/valkey:7.2
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install uv
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
- name: Install Python
run: uv python install 3.14
- name: Install system dependencies
run: sudo apt-get install -y libmariadb3 libmariadb-dev libpq-dev
- name: Install backend dependencies
run: uv sync --all-extras --dev
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: frontend/.nvmrc
- name: Install frontend dependencies
run: npm install
working-directory: frontend
- name: Install Trunk CLI
run: curl https://get.trunk.io -fsSL | bash -s -- -y
- name: Set up test database
run: mysql --host 127.0.0.1 --port 3306 -uroot -ppasswd < backend/romm_test/setup.sql