name: python on: push: branches: - main pull_request: jobs: build: name: test runs-on: ubuntu-latest services: postgres: image: postgres:11 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: - 5432:5432 # needed because the postgres container does not provide a healthcheck options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v2.4.0 - uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install python dependencies working-directory: ./examples/python run: | python -m pip install --upgrade pip python -m pip install -r requirements.txt - name: Test python code working-directory: ./examples/python env: PG_USER: postgres PG_HOST: localhost PG_DATABASE: postgres PG_PASSWORD: postgres PG_PORT: ${{ job.services.postgres.ports['5432'] }} run: | pytest src/tests