Increased version to 0.15. #157
This file contains hidden or 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, 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 |