Files
psql/.gitea/workflows/flyway-migrate.yaml
T
geniuss 5556d9ad7d
Database Migration and Test / migrate-and-test (push) Failing after 10s
Обновить .gitea/workflows/flyway-migrate.yaml
2025-12-08 22:52:45 +03:00

66 lines
2.0 KiB
YAML

name: Database Migration and Test
run-name: Flyway Migrate & Test by ${{ gitea.actor }}
on: [push]
jobs:
migrate-and-test:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
# Необязательно, но полезно для отладки секретов
- name: Debug env
run: |
echo "DB_HOST=${{ secrets.DB_HOST }}"
echo "DB_PORT=${{ secrets.DB_PORT }}"
- name: Create test database
uses: docker://alpine/psql:latest
with:
args: >
sh -c 'export PGPASSWORD=${{ secrets.DB_PASSWORD }} &&
psql
-h ${{ secrets.DB_HOST }}
-p ${{ secrets.DB_PORT }}
-U ${{ secrets.DB_USER }}
-d postgres
-c "DROP DATABASE IF EXISTS testdb;"
-c "CREATE DATABASE testdb;"'
- name: Run Flyway Migrate
uses: docker://flyway/flyway:10
with:
args: >
-url=jdbc:postgresql://${{ secrets.DB_HOST }}:${{ secrets.DB_PORT }}/testdb
-user=${{ secrets.DB_USER }}
-password=${{ secrets.DB_PASSWORD }}
-locations=filesystem:./sql
-baselineOnMigrate=true
migrate
- name: Run Validation Test (SELECT COUNT)
uses: docker://alpine/psql:latest
with:
args: >
sh -c 'export PGPASSWORD=${{ secrets.DB_PASSWORD }} &&
psql
-h ${{ secrets.DB_HOST }}
-p ${{ secrets.DB_PORT }}
-U ${{ secrets.DB_USER }}
-d testdb
-c "SELECT COUNT(*) FROM users;"'
- name: Drop test database
if: always()
uses: docker://alpine/psql:latest
with:
args: >
sh -c 'export PGPASSWORD=${{ secrets.DB_PASSWORD }} &&
psql
-h ${{ secrets.DB_HOST }}
-p ${{ secrets.DB_PORT }}
-U ${{ secrets.DB_USER }}
-d postgres
-c "DROP DATABASE IF EXISTS testdb;"'