From c9515a31437a18b0c21d65e8a91e8545b86ea6aa Mon Sep 17 00:00:00 2001 From: ranade-oss Date: Mon, 27 Jul 2026 00:22:21 -0400 Subject: [PATCH 1/6] Fix staging debug artifact output expression --- .github/workflows/staging-debug-release-train.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/staging-debug-release-train.yml b/.github/workflows/staging-debug-release-train.yml index a2c1b33ed6..5fc330993a 100644 --- a/.github/workflows/staging-debug-release-train.yml +++ b/.github/workflows/staging-debug-release-train.yml @@ -13,7 +13,7 @@ concurrency: jobs: debug: outputs: - artifact-upload: ${{ steps.debug_upload.outcome }} + artifact_upload: ${{ steps.debug_upload.outcome }} runs-on: ubuntu-latest timeout-minutes: 180 environment: staging-debug @@ -191,7 +191,7 @@ jobs: printf '{"outcome":"%s"}\n' "${{ needs.debug.result }}" > artifacts/staging-debug/debug-job-result.json printf '{"outcome":"%s"}\n' "${{ steps.download.outcome }}" > artifacts/staging-debug/evidence-download-result.json printf '{"outcome":"%s","productionPromotion":false,"stagingWorkflowRerun":false}\n' "${{ needs.debug.result }}" > artifacts/staging-debug/result.json - printf '{"outcome":"%s"}\n' "${{ needs.debug.outputs.artifact-upload }}" > artifacts/staging-debug/debug-artifact-upload-result.json + printf '{"outcome":"%s"}\n' "${{ needs.debug.outputs.artifact_upload }}" > artifacts/staging-debug/debug-artifact-upload-result.json - name: Upload complete staging-debug evidence id: final_upload if: always() From fa1d9fe9920c4dbb4381ee5fb517a5565e3f861b Mon Sep 17 00:00:00 2001 From: ranade-oss Date: Mon, 27 Jul 2026 00:22:25 -0400 Subject: [PATCH 2/6] Test staging debug output expression syntax --- tests/baseline/ross-staging-debug.test.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/baseline/ross-staging-debug.test.mjs b/tests/baseline/ross-staging-debug.test.mjs index cdf50f4065..215eaf612c 100644 --- a/tests/baseline/ross-staging-debug.test.mjs +++ b/tests/baseline/ross-staging-debug.test.mjs @@ -45,6 +45,9 @@ test("debug workflow is diagnostic, cleanup-safe, and cannot promote", () => { assert.match(workflow, /cleanup:[\s\S]*needs: debug[\s\S]*staging-debug-lifecycle\.sh cleanup/); assert.match(workflow, /Immediate defensive cleanup in approved staging context[\s\S]*if: always\(\)/); assert.match(workflow, /cleanup:[\s\S]*FLY_API_TOKEN: \$\{\{ secrets\.STAGING_FLY_CLEANUP_TOKEN \}\}/); + assert.match(workflow, /artifact_upload: \\$\\{\\{ steps\\.debug_upload\\.outcome \\$\\}/); + assert.match(workflow, /needs\\.debug\\.outputs\\.artifact_upload/); + assert.doesNotMatch(workflow, /needs\\.debug\\.outputs\\.artifact-upload/); const fallback = workflow.slice(workflow.indexOf(" cleanup:")); assert.doesNotMatch(fallback, /environment: staging-debug/); assert.match(workflow, /STAGING_SUPABASE_URL/); From c51bc279f409d31920fb8c08a4ebf85ff7efd252 Mon Sep 17 00:00:00 2001 From: ranade-oss Date: Mon, 27 Jul 2026 00:22:28 -0400 Subject: [PATCH 3/6] Refresh release manifest for workflow fix --- reports/release-manifest-v1.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reports/release-manifest-v1.json b/reports/release-manifest-v1.json index 41e96c26d2..9030116270 100644 --- a/reports/release-manifest-v1.json +++ b/reports/release-manifest-v1.json @@ -42,7 +42,7 @@ }, { "path": ".github/workflows/staging-debug-release-train.yml", - "sha256": "3218c5a3e36935ee3cab37c41527ca16696da1dd2115464bc3e13367e3afb874", + "sha256": "b9f0a7c014d9d4b50699209009c46d9cf68e68787e10baffc324f941cc0edb1d", "sizeBytes": 12070 }, { @@ -617,8 +617,8 @@ }, { "path": "tests/baseline/ross-staging-debug.test.mjs", - "sha256": "e7544cb854f08bec817878f107a90c9fde8de14cc654c08f8cc2b266b6935f66", - "sizeBytes": 20673 + "sha256": "8f9815fd0aaf7cad59621d3b7a89d9a41ab397fd2e4aac8ee830f89d7951d361", + "sizeBytes": 20916 }, { "path": "website/package-lock.json", From df8c430a40a4762c6182c24e2d133d906f265c39 Mon Sep 17 00:00:00 2001 From: ranade-oss Date: Mon, 27 Jul 2026 00:28:11 -0400 Subject: [PATCH 4/6] Fix staging workflow regression regexes --- tests/baseline/ross-staging-debug.test.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/baseline/ross-staging-debug.test.mjs b/tests/baseline/ross-staging-debug.test.mjs index 215eaf612c..d40082dd4e 100644 --- a/tests/baseline/ross-staging-debug.test.mjs +++ b/tests/baseline/ross-staging-debug.test.mjs @@ -45,9 +45,9 @@ test("debug workflow is diagnostic, cleanup-safe, and cannot promote", () => { assert.match(workflow, /cleanup:[\s\S]*needs: debug[\s\S]*staging-debug-lifecycle\.sh cleanup/); assert.match(workflow, /Immediate defensive cleanup in approved staging context[\s\S]*if: always\(\)/); assert.match(workflow, /cleanup:[\s\S]*FLY_API_TOKEN: \$\{\{ secrets\.STAGING_FLY_CLEANUP_TOKEN \}\}/); - assert.match(workflow, /artifact_upload: \\$\\{\\{ steps\\.debug_upload\\.outcome \\$\\}/); - assert.match(workflow, /needs\\.debug\\.outputs\\.artifact_upload/); - assert.doesNotMatch(workflow, /needs\\.debug\\.outputs\\.artifact-upload/); + assert.match(workflow, /artifact_upload: \$\{\{ steps\.debug_upload\.outcome \}\}/); + assert.match(workflow, /needs\.debug\.outputs\.artifact_upload/); + assert.doesNotMatch(workflow, /needs\.debug\.outputs\.artifact-upload/); const fallback = workflow.slice(workflow.indexOf(" cleanup:")); assert.doesNotMatch(fallback, /environment: staging-debug/); assert.match(workflow, /STAGING_SUPABASE_URL/); From 0f5ce7f913858980010349ac2232c1d9a561a9fb Mon Sep 17 00:00:00 2001 From: ranade-oss Date: Mon, 27 Jul 2026 00:28:23 -0400 Subject: [PATCH 5/6] Refresh manifest for corrected workflow tests --- reports/release-manifest-v1.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reports/release-manifest-v1.json b/reports/release-manifest-v1.json index 9030116270..e905be9e10 100644 --- a/reports/release-manifest-v1.json +++ b/reports/release-manifest-v1.json @@ -617,8 +617,8 @@ }, { "path": "tests/baseline/ross-staging-debug.test.mjs", - "sha256": "8f9815fd0aaf7cad59621d3b7a89d9a41ab397fd2e4aac8ee830f89d7951d361", - "sizeBytes": 20916 + "sha256": "fee45c7a128fd110939715fdfc7817c58e4d2de9e197e6d7661657f6a2734b64", + "sizeBytes": 20903 }, { "path": "website/package-lock.json", From 0cf372fe4fc7bd7334482ca5043fe7e48c18e317 Mon Sep 17 00:00:00 2001 From: ranade-oss Date: Mon, 27 Jul 2026 00:31:40 -0400 Subject: [PATCH 6/6] Correct manifest digest for workflow regression test --- reports/release-manifest-v1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reports/release-manifest-v1.json b/reports/release-manifest-v1.json index e905be9e10..77f0c6e3cc 100644 --- a/reports/release-manifest-v1.json +++ b/reports/release-manifest-v1.json @@ -617,7 +617,7 @@ }, { "path": "tests/baseline/ross-staging-debug.test.mjs", - "sha256": "fee45c7a128fd110939715fdfc7817c58e4d2de9e197e6d7661657f6a2734b64", + "sha256": "f6be049d97023ca7f01193d357dc02f4b5bb14c23fdf675f824961dfa2285d7d", "sizeBytes": 20903 }, {