Skip to content

refactor: Convert from poetry to uv. #339

refactor: Convert from poetry to uv.

refactor: Convert from poetry to uv. #339

Workflow file for this run

name: Test
on:
pull_request:
branches:
- main
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Test our minimum version bound, the highest version available,
# and something in the middle (i.e. what gets run locally).
python-version: ["3.8", "3.10", "3.11", "3.12"]
sqlalchemy-version: ["1.3.0", "1.4.0", "2.0.0"]
postgres-drivername: ["postgresql+psycopg2", "postgresql+psycopg"]
exclude:
- postgres-drivername: postgresql+psycopg
sqlalchemy-version: 1.3.0
- postgres-drivername: postgresql+psycopg
sqlalchemy-version: 1.4.0
env:
PMR_POSTGRES_IMAGE: postgres:13
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Set up uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Restore uv cache
uses: actions/cache@v4
with:
path: /tmp/.uv-cache
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
uv-${{ runner.os }}
- name: Install dependencies
run: make install
- name: Install specific sqlalchemy version
run: |
uv pip install 'sqlalchemy~=${{ matrix.sqlalchemy-version }}'
- if: ${{ matrix.sqlalchemy-version == '1.4.0' }}
run: make lint
- env:
PMR_POSTGRES_DRIVERNAME: ${{ matrix.postgres-drivername }}
SQLALCHEMY_WARN_20: 1
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