name: Run Tests on: [push] jobs: tests: name: ${{ matrix.target }} tests runs-on: ubuntu-latest env: DATABASE_DRIVER: postgresql DATABASE_HOST: postgres DATABASE_PORT: "5432" DATABASE_NAME: calminer_ci DATABASE_USER: calminer DATABASE_PASSWORD: secret DATABASE_SCHEMA: public DATABASE_SUPERUSER: calminer DATABASE_SUPERUSER_PASSWORD: secret DATABASE_SUPERUSER_DB: calminer_ci DATABASE_URL: postgresql+psycopg2://calminer:secret@postgres:5432/calminer_ci strategy: fail-fast: false matrix: target: [unit, e2e, lint] services: postgres: image: postgres:16-alpine env: POSTGRES_DB: calminer_ci POSTGRES_USER: calminer POSTGRES_PASSWORD: secret options: >- --health-cmd "pg_isready -U calminer -d calminer_ci" --health-interval 10s --health-timeout 5s --health-retries 10 steps: - name: Checkout code uses: actions/checkout@v4 - name: Prepare Python environment uses: ./.gitea/actions/setup-python-env with: install-playwright: ${{ matrix.target == 'e2e' }} - name: Run tests run: | if [ "${{ matrix.target }}" = "unit" ]; then pytest tests/unit elif [ "${{ matrix.target }}" = "lint" ]; then ruff check . else pytest tests/e2e fi