# 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