Merge pull request #116 from schireson/dc/gah #165
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/actions-poetry@v2.0.0 | |
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 |