Compare commits

1 Commits

Author SHA1 Message Date
geniuss 5556d9ad7d Обновить .gitea/workflows/flyway-migrate.yaml
Database Migration and Test / migrate-and-test (push) Failing after 10s
2025-12-08 22:52:45 +03:00
2 changed files with 56 additions and 28 deletions
+55 -27
View File
@@ -1,37 +1,65 @@
name: Flyway Migrate and Test
run-name: Flyway & Test by ${{ gitea.actor }}
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@v4
- name: Check out repository code
uses: actions/checkout@v3
- name: Run Flyway Clean
uses: docker://flyway/flyway:latest
env:
FLYWAY_URL: jdbc:postgresql://${{ secrets.DB_HOST }}:${{ secrets.DB_PORT }}/${{ secrets.DB_NAME }}
FLYWAY_USER: ${{ secrets.DB_USER }}
FLYWAY_PASSWORD: ${{ secrets.DB_PASSWORD }}
with:
args: clean -cleanDisabled=false
# Необязательно, но полезно для отладки секретов
- name: Debug env
run: |
echo "DB_HOST=${{ secrets.DB_HOST }}"
echo "DB_PORT=${{ secrets.DB_PORT }}"
- name: Run Flyway Migrate
uses: docker://flyway/flyway:latest
env:
FLYWAY_URL: jdbc:postgresql://${{ secrets.DB_HOST }}:${{ secrets.DB_PORT }}/${{ secrets.DB_NAME }}
FLYWAY_USER: ${{ secrets.DB_USER }}
FLYWAY_PASSWORD: ${{ secrets.DB_PASSWORD }}
FLYWAY_LOCATIONS: filesystem:sql
with:
args: migrate
- 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 DB Test
uses: docker://alpine/psql:latest
env:
PGPASSWORD: ${{ secrets.DB_PASSWORD }}
with:
args: -h ${{ secrets.DB_HOST }} -p ${{ secrets.DB_PORT }} -U ${{ secrets.DB_USER }} -d ${{ secrets.DB_NAME }} -c "SELECT COUNT(*) FROM users"
- 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;"'
@@ -1,2 +1,2 @@
ALTER TABLE users
ALTER TABLE test_monitor
ADD COLUMN created_at TIMESTAMPTZ DEFAULT NOW();