name: Unit Tests on: [pull_request] jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.7", "3.8", "3.9", "3.10"] fail-fast: false services: sqldb: image: postgres:13 env: POSTGRES_USER: user POSTGRES_PASSWORD: secret POSTGRES_DB: testdb ports: - 5432:5432 # needed because the postgres container does not provide a health check options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install required libs run: pip install -r requirements.txt - name: Run tests run: pytest env: PYTHONDONTWRITEBYTECODE: 1 PYTHONUNBUFFERED: 1 SQL_DB: testdb SQL_HOST: 127.0.0.1 SQL_USER: user POSTGRES_PASSWORD: secret