26 lines
1.2 KiB
YAML
26 lines
1.2 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: Run Flyway Migrate
|
|
# Используем официальный Docker-образ Flyway
|
|
# Это надежнее, чем устанавливать Java и Flyway вручную на раннере
|
|
uses: docker://flyway/flyway:10
|
|
with:
|
|
args: -url=jdbc:postgresql://${{ secrets.DB_HOST }}:${{ secrets.DB_PORT }}/${{ secrets.DB_NAME }} -user=${{ secrets.DB_USER }} -password=${{ secrets.DB_PASSWORD }} -locations=filesystem:./sql -baselineOnMigrate=true migrate
|
|
env:
|
|
FLYWAY_CLEAN_DISABLED: false
|
|
|
|
- name: Run Validation Test (Select Count)
|
|
# Используем легковесный образ postgres:alpine для запуска psql
|
|
uses: docker://postgres:alpine
|
|
with:
|
|
args: sh -c "export PGPASSWORD=${{ secrets.DB_PASSWORD }} && psql -h ${{ secrets.DB_HOST }} -p ${{ secrets.DB_PORT }} -U ${{ secrets.DB_USER }} -d ${{ secrets.DB_NAME }} -c 'SELECT COUNT(*) FROM users;'"
|