From bab9a5ede7dda116a8d94def4117a9995136c543 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 17 Jul 2026 22:17:57 +0100 Subject: [PATCH] fix(release): keep beta Telegram advisory nonblocking --- .github/workflows/full-release-validation.yml | 16 ++++++++++------ test/scripts/package-acceptance-workflow.test.ts | 4 +++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/full-release-validation.yml b/.github/workflows/full-release-validation.yml index ed72f71e988f..e970e60c05a3 100644 --- a/.github/workflows/full-release-validation.yml +++ b/.github/workflows/full-release-validation.yml @@ -885,6 +885,9 @@ jobs: } release_check_blocking_job() { + if [[ "$RELEASE_PROFILE" == "beta" && "$1" == "Run package acceptance / Telegram package acceptance / "* ]]; then + return 1 + fi case "$1" in "resolve_target" | \ "Prepare release package artifact" | \ @@ -958,12 +961,13 @@ jobs: # E2E under the same caller stays blocking. failed_jobs_json="$( jq '[.[] | select( - (.name | startswith("Run repo/live E2E validation / ")) - and ((.name | contains("Docker live")) - or (.name | contains("Live media suites")) - or (.name | contains("validate_live_provider_suites")) - or (.name | contains("validate_release_live_cache")) - or (.name | contains("prepare_live_test_image"))) + (((.name | startswith("Run repo/live E2E validation / ")) + and ((.name | contains("Docker live")) + or (.name | contains("Live media suites")) + or (.name | contains("validate_live_provider_suites")) + or (.name | contains("validate_release_live_cache")) + or (.name | contains("prepare_live_test_image")))) + or (.name | startswith("Run package acceptance / Telegram package acceptance / "))) | not)]' <<< "$failed_jobs_json" )" fi diff --git a/test/scripts/package-acceptance-workflow.test.ts b/test/scripts/package-acceptance-workflow.test.ts index 4ddb87e7e991..7d807f8c5d25 100644 --- a/test/scripts/package-acceptance-workflow.test.ts +++ b/test/scripts/package-acceptance-workflow.test.ts @@ -622,7 +622,7 @@ describe("package acceptance workflow", () => { cwd: existingDir, }); const sourceArchive = readFileSync(sourceZip); - writeFileSync(corruptZip, sourceArchive.subarray(0, sourceArchive.length - 10)); + writeFileSync(corruptZip, sourceArchive.subarray(0, -10)); const compare = (left: string, right: string) => spawnSync("python3", ["scripts/compare-release-evidence-zip.py", left, right], { @@ -3013,8 +3013,10 @@ describe("package artifact reuse", () => { "Verify release checks accepted Tideclaw alpha advisory lanes", "release_checks_advisory_only", "release_check_blocking_job", + 'if [[ "$RELEASE_PROFILE" == "beta" && "$1" == "Run package acceptance / Telegram package acceptance / "* ]]; then', 'or (.name | startswith("Run QA Lab runtime parity tier ("))', 'or .name == "Run QA Lab live Discord lane"', + 'or (.name | startswith("Run package acceptance / Telegram package acceptance / ")))', "is a package-safety Tideclaw alpha release-check lane", '"Run package acceptance" | \\', '"Run package acceptance / "*)',