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