Просмотр исходного кода

test: CI test for db migration scripts on changes (#4739)

Bowen Liang месяцев назад: 10
Родитель
Сommit
a47e8d0da2
2 измененных файлов с 54 добавлено и 0 удалено
  1. 53 0
      .github/workflows/db-migration-test.yml
  2. 1 0
      api/migrations/env.py

+ 53 - 0
.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

+ 1 - 0
api/migrations/env.py

@@ -110,3 +110,4 @@ if context.is_offline_mode():
     run_migrations_offline()
 else:
     run_migrations_online()
+