diff --git a/.gitea/workflows/flyway-migrate.yaml b/.gitea/workflows/flyway-migrate.yaml index 5686f31..3855e86 100644 --- a/.gitea/workflows/flyway-migrate.yaml +++ b/.gitea/workflows/flyway-migrate.yaml @@ -1,47 +1,37 @@ -name: Database Migration and Test -run-name: Flyway Migrate & Test by ${{ gitea.actor }} +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@v3 + - name: Check out repository code + uses: actions/checkout@v4 - - 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: Debug secrets (optional, remove after verification) + run: | + echo "DB_HOST=${{ secrets.DB_HOST }}" + echo "DB_PORT=${{ secrets.DB_PORT }}" + echo "DB_NAME=${{ secrets.DB_NAME }}" - - 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 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 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;"' + - name: Run DB Test + uses: docker://alpine/psql:latest + env: + PGPASSWORD: ${{ secrets.DB_PASSWORD }} + PGHOST: ${{ secrets.DB_HOST }} + PGPORT: ${{ secrets.DB_PORT }} + PGDATABASE: ${{ secrets.DB_NAME }} + PGUSER: ${{ secrets.DB_USER }} + with: + args: sh -c "psql -c 'SELECT COUNT(*) FROM users;'"