mybuddy/.github/workflows/review-app.yml

42 lines
1.5 KiB
YAML

name: "Review app"
env:
DOKKU_GIT_REMOTE_URL: "ssh://dokku@dokku.baby-buddy.net:22"
on:
pull_request:
types: [labeled, unlabeled]
jobs:
create-review-app:
runs-on: ubuntu-latest
environment:
name: pr-${{ github.event.pull_request.number }}
url: http://pr-${{ github.event.pull_request.number }}.dokku.baby-buddy.net
if: github.event.action == 'labeled' && github.event.label.name == 'to review'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create review app
uses: dokku/github-action@master
with:
command: review-apps:create
git_remote_url: ${{ env.DOKKU_GIT_REMOTE_URL }}/demo
review_app_name: pr-${{ github.event.pull_request.number }}
ssh_private_key: ${{ secrets.DOKKU_SSH_PRIVATE_KEY }}
destroy-review-app:
runs-on: ubuntu-latest
if: github.event.action == 'unlabeled' && github.event.label.name == 'to review'
steps:
- name: Destroy review app
uses: dokku/github-action@master
with:
command: review-apps:destroy
git_remote_url: ${{ env.DOKKU_GIT_REMOTE_URL }}/demo
review_app_name: pr-${{ github.event.pull_request.number }}
ssh_private_key: ${{ secrets.DOKKU_SSH_PRIVATE_KEY }}
- name: Delete environment
uses: strumwolf/delete-deployment-environment@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
environment: pr-${{ github.event.pull_request.number }}
onlyRemoveDeployments: true