chore: update coder/preview dependency to v1.0.1 #6630
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: pr-cleanup | |
on: | |
pull_request: | |
types: closed | |
workflow_dispatch: | |
inputs: | |
pr_number: | |
description: "PR number" | |
required: true | |
permissions: | |
contents: read | |
jobs: | |
cleanup: | |
runs-on: "ubuntu-latest" | |
permissions: | |
# Necessary to delete docker images from ghcr.io. | |
packages: write | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@002fdce3c6a235733a90a27c80493a3241e56863 # v2.12.1 | |
with: | |
egress-policy: audit | |
- name: Get PR number | |
id: pr_number | |
run: | | |
if [ -n "${{ github.event.pull_request.number }}" ]; then | |
echo "PR_NUMBER=${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT | |
else | |
echo "PR_NUMBER=${{ github.event.inputs.pr_number }}" >> $GITHUB_OUTPUT | |
fi | |
- name: Delete image | |
continue-on-error: true | |
uses: bots-house/ghcr-delete-image-action@3827559c68cb4dcdf54d813ea9853be6d468d3a4 # v1.1.0 | |
with: | |
owner: coder | |
name: coder-preview | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag: pr${{ steps.pr_number.outputs.PR_NUMBER }} | |
- name: Set up kubeconfig | |
run: | | |
set -euo pipefail | |
mkdir -p ~/.kube | |
echo "${{ secrets.PR_DEPLOYMENTS_KUBECONFIG }}" > ~/.kube/config | |
export KUBECONFIG=~/.kube/config | |
- name: Delete helm release | |
run: | | |
set -euo pipefail | |
helm delete --namespace "pr${{ steps.pr_number.outputs.PR_NUMBER }}" "pr${{ steps.pr_number.outputs.PR_NUMBER }}" || echo "helm release not found" | |
- name: "Remove PR namespace" | |
run: | | |
kubectl delete namespace "pr${{ steps.pr_n 3098 umber.outputs.PR_NUMBER }}" || echo "namespace not found" | |
- name: "Remove DNS records" | |
run: | | |
set -euo pipefail | |
# Get identifier for the record | |
record_id=$(curl -X GET "https://api.cloudflare.com/client/v4/zones/${{ secrets.PR_DEPLOYMENTS_ZONE_ID }}/dns_records?name=%2A.pr${{ steps.pr_number.outputs.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}" \ | |
-H "Authorization: Bearer ${{ secrets.PR_DEPLOYMENTS_CLOUDFLARE_API_TOKEN }}" \ | |
-H "Content-Type:application/json" | jq -r '.result[0].id') || echo "DNS record not found" | |
echo "::add-mask::$record_id" | |
# Delete the record | |
( | |
curl -X DELETE "https://api.cloudflare.com/client/v4/zones/${{ secrets.PR_DEPLOYMENTS_ZONE_ID }}/dns_records/$record_id" \ | |
-H "Authorization: Bearer ${{ secrets.PR_DEPLOYMENTS_CLOUDFLARE_API_TOKEN }}" \ | |
-H "Content-Type:application/json" | jq -r '.success' | |
) || echo "DNS record not found" | |
- name: "Delete certificate" | |
if: ${{ github.event.pull_request.merged == true }} | |
run: | | |
set -euxo pipefail | |
kubectl delete certificate "pr${{ steps.pr_number.outputs.PR_NUMBER }}-tls" -n pr-deployment-certs || echo "certificate not found" |