name: Setup PostgreSQL Database on: workflow_dispatch: jobs: setup-database: runs-on: ubuntu-latest steps: - name: Install PostgreSQL client run: | sudo apt-get update sudo apt-get install -y postgresql-client - name: Create database and user env: DB_HOST: ${{ secrets.POSTGRES_HOST }} DB_PORT: ${{ secrets.POSTGRES_PORT }} PGPASSWORD: ${{ secrets.POSTGRES_ROOT_PASSWORD }} DB_NAME: ${{ secrets.DB_NAME }} DB_USER: ${{ secrets.DB_USER }} DB_PASSWORD: ${{ secrets.DB_PASSWORD }} run: | psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "CREATE DATABASE ${DB_NAME};" psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';" psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};" - name: Verify setup env: DB_HOST: ${{ secrets.POSTGRES_HOST }} DB_PORT: ${{ secrets.POSTGRES_PORT }} PGPASSWORD: ${{ secrets.POSTGRES_ROOT_PASSWORD }} DB_NAME: ${{ secrets.DB_NAME }} DB_USER: ${{ secrets.DB_USER }} run: | echo "Database setup completed successfully!" psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "\l" | grep ${DB_NAME} psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "\du" | grep ${DB_USER}