chore: refactor TestServer_X11 to use inproc networking #6674
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_number.outputs.P 3089 R_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" |