Skip to content

For PR cleanup: collect output of slot deletion and delete GH env #18

For PR cleanup: collect output of slot deletion and delete GH env

For PR cleanup: collect output of slot deletion and delete GH env #18

Workflow file for this run

name: Delete a preview environment
on:
pull_request:
types:
- closed
concurrency:
group: ci-${{ github.event.number }}
cancel-in-progress: true
env:
SLOT_NAME: pr-${{ github.event.number }}
jobs:
delete-slot:
runs-on: ubuntu-latest
steps:
- name: Log into Azure CLI with service principal
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Delete staging slot
id: delete-slot
continue-on-error: true
run: |
az webapp deployment slot delete \
--resource-group ${{ vars.AZURE_RESOURCE_GROUP }} \
--name ${{ vars.AZURE_WEBAPP_NAME }} \
--slot ${{ env.SLOT_NAME }} 2>&1
- name: Report slot deletion result
run: |
if [ "${{ steps.delete-slot.outcome }}" == "success" ]; then
echo "::notice::Successfully deleted slot ${{ env.SLOT_NAME }}"
else
echo "::error::Failed to delete slot ${{ env.SLOT_NAME }}"
exit 1
fi
delete-deployment:
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App Token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.ENV_CLEANUP_APP_ID }}
private-key: ${{ secrets.ENV_CLEANUP_APP_PRIVATE_KEY }}
- name: Delete Deployment Environment
uses: strumwolf/delete-deployment-environment@v3
with:
environment: "pr-${{ github.event.number }}"
token: ${{ steps.app-token.outputs.token }}