Changeset 0.7.2 (#40)
This commit is contained in:
@@ -86,9 +86,54 @@ jobs:
|
||||
go mod download
|
||||
go mod tidy
|
||||
|
||||
- name: Bootstrap CI test database
|
||||
env:
|
||||
PGHOST: ${{ env.POSTGRES_HOST }}
|
||||
PGPORT: ${{ env.POSTGRES_PORT }}
|
||||
PGUSER: ${{ secrets.POSTGRES_ADMIN_USER }}
|
||||
PGPASSWORD: ${{ secrets.POSTGRES_ADMIN_PASSWORD }}
|
||||
APP_USER: ${{ secrets.POSTGRES_USER }}
|
||||
APP_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
|
||||
DB_NAME: chat_switchboard_ci
|
||||
run: |
|
||||
echo "━━━ CI Test Database Setup ━━━"
|
||||
# Create DB for Go integration tests (admin creds)
|
||||
DB_EXISTS=$(psql -tAc "SELECT 1 FROM pg_database WHERE datname = '${DB_NAME}';" postgres || echo "0")
|
||||
if [[ "${DB_EXISTS}" != "1" ]]; then
|
||||
psql -c "CREATE DATABASE ${DB_NAME} OWNER ${APP_USER};" postgres
|
||||
echo "✓ Created ${DB_NAME}"
|
||||
else
|
||||
echo "✓ ${DB_NAME} already exists"
|
||||
fi
|
||||
# Extensions
|
||||
psql -d "${DB_NAME}" -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";'
|
||||
psql -d "${DB_NAME}" -c 'CREATE EXTENSION IF NOT EXISTS "pgcrypto";'
|
||||
# Grant
|
||||
psql -d "${DB_NAME}" -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${APP_USER};"
|
||||
psql -d "${DB_NAME}" -c "GRANT ALL PRIVILEGES ON SCHEMA public TO ${APP_USER};"
|
||||
psql -d "${DB_NAME}" -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO ${APP_USER};"
|
||||
psql -d "${DB_NAME}" -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO ${APP_USER};"
|
||||
echo "✓ CI test database ready"
|
||||
|
||||
- name: Run tests
|
||||
working-directory: server
|
||||
run: go test -v -race ./...
|
||||
env:
|
||||
PGHOST: ${{ env.POSTGRES_HOST }}
|
||||
PGPORT: ${{ env.POSTGRES_PORT }}
|
||||
PGUSER: ${{ secrets.POSTGRES_USER }}
|
||||
PGPASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
|
||||
run: go test -v -race -count=1 ./...
|
||||
|
||||
- name: Drop CI test database
|
||||
if: always()
|
||||
env:
|
||||
PGHOST: ${{ env.POSTGRES_HOST }}
|
||||
PGPORT: ${{ env.POSTGRES_PORT }}
|
||||
PGUSER: ${{ secrets.POSTGRES_ADMIN_USER }}
|
||||
PGPASSWORD: ${{ secrets.POSTGRES_ADMIN_PASSWORD }}
|
||||
run: |
|
||||
psql -c "DROP DATABASE IF EXISTS chat_switchboard_ci;" postgres
|
||||
echo "✓ Dropped CI test database"
|
||||
|
||||
- name: Build check
|
||||
working-directory: server
|
||||
|
||||
Reference in New Issue
Block a user