45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
name: Flyway Migrate and Test
|
|
run-name: Flyway & 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: 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: 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: Run DB Test
|
|
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 ${{ secrets.DB_NAME }}
|
|
-c "SELECT COUNT(*) FROM users"
|
|
'
|
|
|