name: CI on: push: branches: [develop] paths-ignore: - ".beans/**" - "*.md" - "LICENSE" - ".gitignore" - ".github/workflows/deploy.yml" pull_request: branches: [develop] paths-ignore: - ".beans/**" - "*.md" - "LICENSE" - ".gitignore" - ".github/workflows/deploy.yml" permissions: contents: read jobs: backend-tests: runs-on: ubuntu-latest services: postgres: image: postgres:18-alpine ports: - 5433:5432 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: nuzlocke_test options: >- --health-cmd "pg_isready -U postgres" --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Install uv and Python run: | curl -LsSf https://astral.sh/uv/install.sh | sh source "$HOME/.local/bin/env" echo "$HOME/.local/bin" >> "$GITHUB_PATH" uv python install 3.14 - name: Run tests run: uv run --python 3.14 --extra dev pytest -q working-directory: backend env: TEST_DATABASE_URL: postgresql+asyncpg://postgres:postgres@192.168.1.10:5433/nuzlocke_test frontend-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: "24" - name: Install dependencies run: npm ci working-directory: frontend - name: Run tests run: npm test working-directory: frontend