From: Riccardo Magliocchetti Date: Mon, 1 Mar 2021 08:37:33 +0000 (+0100) Subject: ci: split tests in one job for each implementation X-Git-Tag: 3.0.dev0~94^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2e81f0ddca04885db1b782816b0ae9db8dcb79a;p=thirdparty%2Fpsycopg.git ci: split tests in one job for each implementation To simplify the matrix --- diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 58e4b727a..12bcd7066 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,54 +7,70 @@ on: branches: [ master ] jobs: - tests: - name: Tests + python: + name: Python implementation runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: include: - - postgres: 10 - python: 3.6 - toxenv: py36 - toxdir: psycopg3_c - implementation: c - # skip tests failing on importing psycopg3_c.pq on subprocess - # they only fail on Travis, work ok locally under tox too. - pytest_addopts: "-m 'not subprocess'" - postgres: 11 python: 3.6 toxenv: py36 - toxdir: psycopg3 - implementation: python - - postgres: 11 - python: 3.7 - toxenv: py37 - toxdir: psycopg3_c - implementation: c - pytest_addopts: "-m 'not subprocess'" - postgres: 12 python: 3.7 toxenv: py37 - toxdir: psycopg3 - implementation: python - postgres: 12 python: 3.8 toxenv: py38 - toxdir: psycopg3_c - implementation: c - pytest_addopts: "-m 'not subprocess'" + + env: + PSYCOPG3_TEST_DSN: host=postgresql dbname=psycopg3_test + PSYCOPG3_IMPL: python + + services: + postgresql: + image: postgres:${{ matrix.postgres }} + env: + POSTGRES_DB: psycopg3_test + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: install postgresql client + run: sudo apt install postgresql-client-${{ matrix.postgres }} + - name: install tox + run: pip install tox + - name: run tests + run: tox -c psycopg3 -e ${{ matrix.toxenv }} + + c: + name: C implementation + runs-on: ubuntu-20.04 + + strategy: + fail-fast: false + matrix: + include: + - postgres: 10 + python: 3.6 + toxenv: py36 + - postgres: 11 + python: 3.7 + toxenv: py37 - postgres: 12 python: 3.8 toxenv: py38 - toxdir: psycopg3 - implementation: python env: PSYCOPG3_TEST_DSN: host=postgresql dbname=psycopg3_test - PSYCOPG3_IMPL: ${{ matrix.implementation }} - PYTEST_ADDOPTS: ${{ matrix.pytest_addopts }} + PSYCOPG3_IMPL: c + # skip tests failing on importing psycopg3_c.pq on subprocess + # they only fail on Travis, work ok locally under tox too. + PYTEST_ADDOPTS: "-m 'not subprocess'" services: postgresql: @@ -72,4 +88,4 @@ jobs: - name: install tox run: pip install tox - name: run tests - run: tox -c ${{ matrix.toxdir }} -e ${{ matrix.toxenv }} + run: tox -c psycopg3_c -e ${{ matrix.toxenv }}