From e1f33c1bad6831ea00a2824b39d259fb8a071508 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 22 Jul 2026 18:15:19 +0100 Subject: [PATCH] Fix release integration gate target --- .github/workflows/create-release.yml | 7 +++++-- .../v6/internal/subsystems/deployment-installability.md | 6 ++++++ scripts/installtests/build_release_assets_test.go | 6 ++++++ scripts/release_control/release_promotion_policy_test.py | 5 +++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index bb14ab725..68284048f 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -621,8 +621,11 @@ jobs: ;; esac - echo "Running multi-tenant E2E suite..." - npx playwright test tests/03-multi-tenant.spec.ts --project=chromium --reporter=list + echo "Running current organization-sharing E2E suite..." + npx playwright test \ + tests/66-organization-sharing-approval-ui.spec.ts \ + --project=chromium \ + --reporter=list docker compose -f docker-compose.test.yml down -v diff --git a/docs/release-control/v6/internal/subsystems/deployment-installability.md b/docs/release-control/v6/internal/subsystems/deployment-installability.md index 5ee65067c..45fb03798 100644 --- a/docs/release-control/v6/internal/subsystems/deployment-installability.md +++ b/docs/release-control/v6/internal/subsystems/deployment-installability.md @@ -832,6 +832,12 @@ TLS floor in the dynamic config. containing Playwright `test-results/` plus `release-integration-diagnostics/docker.log`; that Docker log must capture container state and the Pulse test server plus mock GitHub server logs. + The release integration job must also name at least one current, + non-quarantined browser spec. For the v6.1.0 release line that proof is + `tests/66-organization-sharing-approval-ui.spec.ts`; the job must not point + back at the wholly quarantined `tests/03-multi-tenant.spec.ts`, because + Playwright would correctly select zero tests and turn every publication + attempt into the same deterministic harness failure. 7. Preserve release-matched installer and Helm operator documentation links through `scripts/install.sh`, `.github/workflows/helm-pages.yml`, `.github/workflows/publish-helm-chart.yml`, and the chart metadata itself so deployment guidance and packaged chart metadata do not drift back to branch-tip `main` docs when a release line or promoted tag already exists. The same governed Helm boundary also owns `deploy/helm/pulse/` itself: chart metadata, default values, templates, and generated chart docs must diff --git a/scripts/installtests/build_release_assets_test.go b/scripts/installtests/build_release_assets_test.go index 1f9b28322..73f1126ff 100644 --- a/scripts/installtests/build_release_assets_test.go +++ b/scripts/installtests/build_release_assets_test.go @@ -1710,6 +1710,12 @@ func TestReleasePipelinePromotesOneImmutableCandidate(t *testing.T) { if strings.Contains(integrationJob, "- backend_tests") { t.Fatal("integration tests must run in parallel with backend tests") } + if !strings.Contains(integrationJob, `tests/66-organization-sharing-approval-ui.spec.ts`) { + t.Fatal("integration release gate missing current organization-sharing coverage") + } + if strings.Contains(integrationJob, `tests/03-multi-tenant.spec.ts`) { + t.Fatal("integration release gate must not target the quarantined multi-tenant spec") + } if strings.Contains(validationJob, "- publish_docker") { t.Fatal("release asset digest validation must run in parallel with Docker publication") } diff --git a/scripts/release_control/release_promotion_policy_test.py b/scripts/release_control/release_promotion_policy_test.py index 119d141f7..c8714e067 100644 --- a/scripts/release_control/release_promotion_policy_test.py +++ b/scripts/release_control/release_promotion_policy_test.py @@ -728,11 +728,12 @@ class ReleasePromotionPolicyTest(unittest.TestCase): self.assertIn('gh release upload "$@"', content) self.assertIn('gh release upload failed on attempt ${attempt}/${max_attempts}; retrying in ${wait_seconds}s', content) self.assertIn('gh release upload failed after ${max_attempts} attempts', content) - self.assertIn("Running multi-tenant E2E suite...", content) + self.assertIn("Running current organization-sharing E2E suite...", content) self.assertIn( - "npx playwright test tests/03-multi-tenant.spec.ts --project=chromium --reporter=list", + "tests/66-organization-sharing-approval-ui.spec.ts", content, ) + self.assertNotIn("npx playwright test tests/03-multi-tenant.spec.ts", content) self.assertIn('PULSE_E2E_ENTITLEMENT_PROFILE: "multi-tenant"', content) self.assertIn("Collect integration diagnostics", content) self.assertIn("release-integration-diagnostics/docker.log", content)