From 4ffc351a19a3af69394b57317ecda53db78624ab Mon Sep 17 00:00:00 2001 From: Cody Maffucci <46459665+Maffooch@users.noreply.github.com> Date: Mon, 17 Aug 2026 21:58:22 -0600 Subject: [PATCH] ci(k8s): cap k8s deployment job runtime to stop multi-hour hangs The k8s deployment job had no job-level timeout and left several hang-prone steps untimed (minikube bring-up, artifact download, helm dependency update). A stall in any of those fell through to GitHub's 360-minute default job timeout, letting the job burn hours of runner time. Add a job-level timeout-minutes: 30 backstop (a healthy run finishes well under 20 minutes) plus per-step timeouts on the two untimed shell steps most likely to stall. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/k8s-tests.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/k8s-tests.yml b/.github/workflows/k8s-tests.yml index bf92262df2a..9193eed230b 100644 --- a/.github/workflows/k8s-tests.yml +++ b/.github/workflows/k8s-tests.yml @@ -9,6 +9,13 @@ jobs: setting_minikube_cluster: name: Kubernetes Deployment runs-on: ubuntu-latest + # Hard ceiling for the whole job. Without it a hang in any step falls through + # to GitHub's 360-minute (6-hour) default, which is how this job has run for + # hours. The individual steps below are timed, but the two slowest-to-stall + # ones -- minikube bring-up and the download-artifact/helm-dependency steps -- + # were not, so this cap is the backstop that covers every step regardless. + # A healthy run finishes in well under 20 minutes; 30 leaves headroom. + timeout-minutes: 30 strategy: matrix: @@ -25,6 +32,7 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Minikube + timeout-minutes: 10 uses: manusa/actions-setup-minikube@b65276017fdec6f1e6498129fb740e34e260dc55 # v2.18.0 with: minikube version: 'v1.38.1' # renovate: datasource=github-releases depName=kubernetes/minikube @@ -55,6 +63,7 @@ jobs: docker images - name: Configure HELM repos + timeout-minutes: 5 run: |- helm dependency list ./helm/defectdojo helm dependency update ./helm/defectdojo