diff --git a/.github/workflows/db-migration-test.yml b/.github/workflows/db-migration-test.yml new file mode 100644 index 0000000000..cb8dd06c5e --- /dev/null +++ b/.github/workflows/db-migration-test.yml @@ -0,0 +1,53 @@ +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: 'pip' + cache-dependency-path: | + ./api/requirements.txt + + - name: Install dependencies + run: pip install -r ./api/requirements.txt + + - name: Set up Middleware + uses: hoverkraft-tech/compose-action@v2.0.0 + with: + compose-file: | + docker/docker-compose.middleware.yaml + services: | + db + + - name: Prepare configs + run: | + cd api + cp .env.example .env + + - name: Run DB Migration + run: | + cd api + flask db upgrade diff --git a/api/migrations/env.py b/api/migrations/env.py index 18485c1885..ad3a122c04 100644 --- a/api/migrations/env.py +++ b/api/migrations/env.py @@ -110,3 +110,4 @@ if context.is_offline_mode(): run_migrations_offline() else: run_migrations_online() +