* feat: support `--fake` for aerich upgrade * Add `--fake` to downgrade * tests: check --fake result for aerich upgrade and downgrade * Update readme * Fix unittest failed because of `db_field_types` changed * refactor: improve type hints and document
83 lines
2.7 KiB
YAML
83 lines
2.7 KiB
YAML
name: ci
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- main
|
|
pull_request:
|
|
branches-ignore:
|
|
- main
|
|
jobs:
|
|
ci:
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
postgres:
|
|
image: postgres:latest
|
|
ports:
|
|
- 5432:5432
|
|
env:
|
|
POSTGRES_PASSWORD: 123456
|
|
POSTGRES_USER: postgres
|
|
options: --health-cmd=pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
|
|
tortoise-orm:
|
|
- tortoise021
|
|
- tortoise022
|
|
- tortoise023
|
|
- tortoise024
|
|
steps:
|
|
- name: Start MySQL
|
|
run: sudo systemctl start mysql.service
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/poetry.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pip-
|
|
- name: Install and configure Poetry
|
|
run: |
|
|
pip install -U pip poetry
|
|
poetry config virtualenvs.create false
|
|
- name: Install dependencies and check style
|
|
run: make check
|
|
- name: Install TortoiseORM v0.21
|
|
if: matrix.tortoise-orm == 'tortoise021'
|
|
run: poetry run pip install --upgrade "tortoise-orm>=0.21,<0.22"
|
|
- name: Install TortoiseORM v0.22
|
|
if: matrix.tortoise-orm == 'tortoise022'
|
|
run: poetry run pip install --upgrade "tortoise-orm>=0.22,<0.23"
|
|
- name: Install TortoiseORM v0.23
|
|
if: matrix.tortoise-orm == 'tortoise023'
|
|
run: poetry run pip install --upgrade "tortoise-orm>=0.23,<0.24"
|
|
- name: Install TortoiseORM v0.24
|
|
if: matrix.tortoise-orm == 'tortoise024'
|
|
run: |
|
|
if [[ "${{ matrix.python-version }}" == "3.8" ]]; then
|
|
echo "Skip test for tortoise v0.24 as it does not support Python3.8"
|
|
else
|
|
poetry run pip install --upgrade "tortoise-orm>=0.24,<0.25"
|
|
fi
|
|
- name: Install TortoiseORM develop branch
|
|
if: matrix.tortoise-orm == 'tortoisedev'
|
|
run: |
|
|
if [[ "${{ matrix.python-version }}" == "3.8" ]]; then
|
|
echo "Skip test for tortoise develop branch as it does not support Python3.8"
|
|
else
|
|
poetry run pip uninstall -y tortoise-orm
|
|
poetry run pip install --upgrade "git+https://github.com/tortoise/tortoise-orm"
|
|
fi
|
|
- name: CI
|
|
env:
|
|
MYSQL_PASS: root
|
|
MYSQL_HOST: 127.0.0.1
|
|
MYSQL_PORT: 3306
|
|
POSTGRES_PASS: 123456
|
|
POSTGRES_HOST: 127.0.0.1
|
|
POSTGRES_PORT: 5432
|
|
run: make _testall
|