name: Testing on: push: branches: ["*"] paths-ignore: - 'docs/**' - 'setup.*' - '*.md' - '*.rst' tags-ignore: ["*"] jobs: test: runs-on: ubuntu-latest timeout-minutes: 3 services: postgres: image: postgres:12-alpine options: >- --health-cmd "pg_isready" --health-interval 10s --health-timeout 10s --health-retries 5 ports: - 5432 env: POSTGRES_HOST_AUTH_METHOD: trust strategy: matrix: python: [3.7, 3.8, 3.9] container: image: python:${{ matrix.python }}-alpine steps: - name: Checkout repository uses: actions/checkout@v1 - name: Install OS dependencies run: apk --update add gcc libffi-dev linux-headers make musl-dev postgresql-dev - name: Install testing dependencies run: pip3 --no-cache-dir install -e '.[testing]' - name: Create build directory run: mkdir build - name: Create build/test-environment run: echo "export POSTGRES_URL=postgresql://postgres@postgres:5432/postgres" > build/test-environment - name: Install UUID extension run: | apk add postgresql-client \ && psql -q -h postgres -U postgres -d postgres -f fixtures/testing.sql - name: Run flake8 tests run: flake8 - name: Run tests run: coverage run - name: Output coverage run: coverage report && coverage xml - name: Upload Coverage uses: codecov/codecov-action@v1.0.2 if: github.event_name == 'push' && github.repository == 'sprockets/sprockets-postgres' with: token: ${{secrets.CODECOV_TOKEN}} file: build/coverage.xml flags: unittests fail_ci_if_error: true