From b856cade2d7885a87e8e8e5c06a0ad21faa09ba1 Mon Sep 17 00:00:00 2001 From: Bowen Liang Date: Fri, 31 May 2024 16:45:34 +0800 Subject: [PATCH] test: CI test for db migration scripts on changes (#4739) --- .github/workflows/db-migration-test.yml | 53 +++++++++++++++++++++++++ api/migrations/env.py | 1 + 2 files changed, 54 insertions(+) create mode 100644 .github/workflows/db-migration-test.yml diff --git a/.github/workflows/db-migration-test.yml b/.github/workflows/db-migration-test.yml new file mode 100644 index 00000000000000..cb8dd06c5e2ecf --- /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 18485c18855c02..ad3a122c04bc2d 100644 --- a/api/migrations/env.py +++ b/api/migrations/env.py @@ -110,3 +110,4 @@ def process_revision_directives(context, revision, directives): run_migrations_offline() else: run_migrations_online() +