parent
938bc70055
commit
8652970c80
@ -0,0 +1,73 @@
|
||||
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@v5
|
||||
with:
|
||||
project_id: ${{ vars.NEON_PROJECT_ID }}
|
||||
branch_name: preview/pr-${{ github.event.number }}-${{ needs.setup.outputs.branch }}
|
||||
api_key: ${{ secrets.NEON_API_KEY }}
|
||||
|
||||
# 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:
|
||||
# # to use pooled connection
|
||||
# DATABASE_URL: "${{ steps.create_neon_branch.outputs.db_url_with_pooler }}"
|
||||
# # OR to use unpooled connection
|
||||
# # DATABASE_URL: "${{ steps.create_neon_branch.outputs.db_url }}"
|
||||
|
||||
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/delete-branch-action@v3
|
||||
with:
|
||||
project_id: ${{ vars.NEON_PROJECT_ID }}
|
||||
branch: preview/pr-${{ github.event.number }}-${{ needs.setup.outputs.branch }}
|
||||
api_key: ${{ secrets.NEON_API_KEY }}
|
||||
Loading…
Reference in new issue