Merge pull request #118 from schireson/dc/gah #170
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: push | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
services: | |
postgres: | |
image: postgres:11.12 | |
env: | |
POSTGRES_DB: dev | |
POSTGRES_USER: user | |
POSTGRES_PASSWORD: password | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10"] | |
poetry-version: ["1.2.2"] | |
sqlalchemy-version: ["1.3.0", "1.4.0", "2.0.0b4"] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry | |
uses: abatilo/[email protected] | |
with: | |
poetry-version: ${{ matrix.poetry-version }} | |
- name: Set up cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pypoetry/virtualenvs | |
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-poetry- | |
- name: Install dependencies | |
run: poetry run make install | |
- name: Install specific sqlalchemy version | |
run: poetry run pip install 'sqlalchemy~=${{ matrix.sqlalchemy-version }}' | |
- name: Run linters | |
if: ${{ matrix.sqlalchemy-version == '1.4.0' }} | |
run: poetry run make lint | |
- name: Run tests | |
run: poetry run make test | |
- name: Store test result artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
path: coverage.xml | |
- name: Coveralls | |
env: | |
COVERALLS_FLAG_NAME: run-${{ inputs.working-directory }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_PARALLEL: true | |
run: | | |
pip install tomli coveralls | |
coveralls --service=github | |
finish: | |
needs: | |
- test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pip install tomli coveralls | |
coveralls --service=github --finish |