Fix release integration gate target

This commit is contained in:
rcourtman
2026-07-22 18:15:19 +01:00
parent 0b5763764c
commit e1f33c1bad
4 changed files with 20 additions and 4 deletions
+5 -2
View File
@@ -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
@@ -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
@@ -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")
}
@@ -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)