| name: DB Migration Test | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - api/migrations/** | |
| concurrency: | |
| group: db-migration-test-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| db-migration-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: | |
| - "3.10" | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache-dependency-path: | | |
| api/pyproject.toml | |
| api/poetry.lock | |
| - name: Install Poetry | |
| uses: abatilo/actions-poetry@v3 | |
| - name: Install dependencies | |
| run: poetry install -C api | |
| - name: Prepare middleware env | |
| run: | | |
| cd docker | |
| cp middleware.env.example middleware.env | |
| - name: Set up Middlewares | |
| uses: hoverkraft-tech/compose-action@v2.0.2 | |
| with: | |
| compose-file: | | |
| docker/docker-compose.middleware.yaml | |
| services: | | |
| db | |
| redis | |
| - name: Prepare configs | |
| run: | | |
| cd api | |
| cp .env.example .env | |
| - name: Run DB Migration | |
| run: | | |
| cd api | |
| poetry run python -m flask upgrade-db | |