The Gitea runner runs jobs on the host, where actions/setup-python has no prebuilt 3.12 for the distro. Use the system python3 in a venv. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
# CI for shopdb-flask.
|
|
#
|
|
# The Gitea runner executes jobs on the host (act host executor), so
|
|
# actions/setup-python cannot provision interpreters (no prebuilt binaries
|
|
# for the host distro). The backend job uses the system python3 in a venv
|
|
# instead. setup-node works because node is resolved differently.
|
|
#
|
|
# Three jobs run on push and pull_request:
|
|
# backend - pytest (tests use in-memory SQLite via TestingConfig, so no
|
|
# database service is needed).
|
|
# naming - the CONTRIBUTING.md naming/style gate.
|
|
# frontend - Vue build.
|
|
|
|
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
backend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 --version
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install --upgrade pip
|
|
.venv/bin/pip install -r requirements.txt
|
|
- name: Run backend tests
|
|
run: .venv/bin/python -m pytest
|
|
|
|
naming:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@v4
|
|
- name: Run naming and style check
|
|
run: bash scripts/check-naming-and-style.sh
|
|
|
|
frontend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@v4
|
|
- name: Set up Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
- name: Install and build frontend
|
|
run: |
|
|
npm ci
|
|
npm run build
|
|
working-directory: frontend
|