From 2a156c4e6351868a0b1f8b0ff8c06e984686151f Mon Sep 17 00:00:00 2001 From: "privilegedescalation-engineer[bot]" Date: Tue, 24 Mar 2026 16:31:14 +0000 Subject: [PATCH] fix(e2e): serialize concurrent E2E runs to prevent environment conflicts Concurrent E2E runs share the same headlamp-e2e release name in privilegedescalation-dev. When two runs overlap, one run's teardown (if: always()) deletes the shared Deployment/Service/ConfigMap while the other is still using it, causing Playwright auth setup to time out waiting for the Headlamp UI. Adds a repo-wide concurrency group so only one E2E run executes at a time. cancel-in-progress: false queues incoming runs rather than cancelling in-flight ones to avoid leaving dangling cluster resources when teardown is interrupted. Fixes: PRI-815 Co-Authored-By: Paperclip --- .github/workflows/e2e.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 4cda4d9..f7bc25c 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -10,6 +10,16 @@ on: permissions: contents: read +# Serialize E2E runs repo-wide. All concurrent runs share the same +# E2E_RELEASE name (headlamp-e2e) in a single namespace. Without +# serialization, one run's teardown (if: always()) deletes the +# deployment while a concurrent run is still using it, causing auth +# setup timeouts. cancel-in-progress: false queues rather than kills +# to avoid leaving dangling cluster resources. +concurrency: + group: e2e-${{ github.repository }} + cancel-in-progress: false + env: E2E_NAMESPACE: privilegedescalation-dev E2E_RELEASE: headlamp-e2e -- 2.52.0