Skip to content

Commit

Permalink
chore: create neon branch on pull request
Browse files Browse the repository at this point in the history
  • Loading branch information
Shridhad committed Jan 27, 2025
1 parent 6b76de4 commit 7e4978f
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 0 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/neon_create_branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Create/Delete Branch for Pull Request

on:
pull_request:
types:
- opened
- reopened
- synchronize
- closed

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
setup:
name: Setup
outputs:
branch: ${{ steps.branch_name.outputs.current_branch }}
runs-on: ubuntu-latest
steps:
- name: Get branch name
id: branch_name
uses: tj-actions/branch-names@v8

create_neon_branch:
name: Create Neon Branch
outputs:
db_url: ${{ steps.create_neon_branch_encode.outputs.db_url }}
db_url_with_pooler: ${{ steps.create_neon_branch_encode.outputs.db_url_with_pooler }}
needs: setup
if: |
github.event_name == 'pull_request' && (
github.event.action == 'synchronize'
|| github.event.action == 'opened'
|| github.event.action == 'reopened')
runs-on: ubuntu-latest
steps:
- name: Create Neon Branch
id: create_neon_branch
uses: neondatabase/create-branch-action@main
with:
project_id: ${{ vars.NEON_PROJECT_ID }}
branch_name: github/pr-${{ github.event.number }}-${{ needs.setup.outputs.branch }}
api_key: ${{ secrets.NEON_API_KEY }}
api_host: ${{ vars.NEON_API_HOST }}

# The step above creates a new Neon branch.
# You may want to do something with the new branch, such as run migrations, run tests
# on it, or send the connection details to a hosting platform environment.
# The branch DATABASE_URL is available to you via:
# "${{ steps.create_neon_branch.outputs.db_url_with_pooler }}".
# It's important you don't log the DATABASE_URL as output as it contains a username and
# password for your database.
# For example, you can uncomment the lines below to run a database migration command:
# - name: Run Migrations
# run: npm run db:migrate
# env:
# DATABASE_URL: "${{ steps.create_neon_branch.outputs.db_url_with_pooler }}"

delete_neon_branch:
name: Delete Neon Branch
needs: setup
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
steps:
- name: Delete Neon Branch
uses: neondatabase/create-branch-action@main
with:
project_id: ${{ vars.NEON_PROJECT_ID }}
branch: github/pr-${{ github.event.number }}-${{ needs.setup.outputs.branch }}
api_key: ${{ secrets.NEON_API_KEY }}
api_host: ${{ vars.NEON_API_HOST }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ yarn-error.log*
# local env files
.env*.local
.env
.history

# vercel
.vercel
Expand Down

0 comments on commit 7e4978f

Please sign in to comment.