Skip to content

Increased version to 0.15. #157

Increased version to 0.15.

Increased version to 0.15. #157

name: CI
on: [push, pull_request]
jobs:
lint-and-test:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
sqlalchemy-version: ["<2.0", "default"]
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13.4
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
ports:
- "5432:5432"
options: >-
--health-cmd="POSTGRES_PASSWORD=eventsourcing pg_isready -U eventsourcing -d eventsourcing_sqlalchemy"
--health-interval="10s"
--health-timeout="5s"
--health-retries="5"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install and set up Poetry
run: make install-poetry
- name: Install packages
run: make install
- name: Downgrade SQLAlchemy
if: ${{ matrix.sqlalchemy-version != 'default' }}
run: poetry@2.2.1 run pip install -U "sqlalchemy${{ matrix.sqlalchemy-version }}"
- name: Downgrade Flask-SQLAlchemy
if: ${{ matrix.sqlalchemy-version != 'default' }}
run: poetry@2.2.1 run pip install -U "flask-sqlalchemy<3.1"
- name: Lint
run: make lint
- name: Setup PostgreSQL database
run: |
PGPASSWORD=postgres psql -c 'CREATE DATABASE eventsourcing_sqlalchemy;' -U postgres -h localhost
PGPASSWORD=postgres psql -c "CREATE USER eventsourcing WITH PASSWORD 'eventsourcing';" -U postgres -h localhost
PGPASSWORD=postgres psql -c "ALTER DATABASE eventsourcing_sqlalchemy OWNER TO eventsourcing;" -U postgres -h localhost
PGPASSWORD=postgres psql eventsourcing_sqlalchemy -c "CREATE SCHEMA myschema AUTHORIZATION eventsourcing" -U postgres -h localhost
- name: Install Microsoft ODBC
run: sudo ACCEPT_EULA=Y apt-get install msodbcsql18 -y
- name: Setup MSSQL database
run: |
make start-mssql
sleep 10
make create-mssql-database
make create-mssql-schema
- name: Print SQLAlchemy version
run: poetry@2.2.1 run python -c "import sqlalchemy; print(f'Using sqlalchemy {sqlalchemy.__version__}')"
- name: Run tests
run: make test
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
POSTGRES_HOST: 127.0.0.1
POSTGRES_PORT: 5432