name: Test on: [push, pull_request] jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", "3.11"] services: postgres: image: postgres:15 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: ["5432:5432"] options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: pip - name: Install dependencies run: | python -m pip install -r requirements-dev.txt - name: Run pytest env: PGHOST: localhost PGPORT: ${{ job.services.postgres.ports[5432] }} PGNAME: postgres PGUSER: postgres PGPASSWORD: postgres run: | python -m pytest - name: Run pre-commit run: | pre-commit run -a --show-diff-on-failure