From 7b107eed81e80f010d5315ac294d7589e50bbb3e Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 3 Aug 2026 23:10:07 +0530 Subject: [PATCH] fix(ci): preserve merged PR Swift verification Failure-Class: none --- .github/scripts/test_desktop_swift_ci_contract.py | 4 +++- .github/workflows/desktop-swift-ci.yml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/scripts/test_desktop_swift_ci_contract.py b/.github/scripts/test_desktop_swift_ci_contract.py index 74911d125fd..ffd632b21d9 100755 --- a/.github/scripts/test_desktop_swift_ci_contract.py +++ b/.github/scripts/test_desktop_swift_ci_contract.py @@ -132,6 +132,8 @@ def test_closed_prs_release_the_same_pr_concurrency_group_without_allocating_a_r changes = self.jobs["changes"] self.assertRegex(workflow, r"types:\s*\[[^]]*closed[^]]*\]") + self.assertIn("github.event.action == 'closed' && github.event.pull_request.merged", workflow) + self.assertIn("format('merged-{0}', github.event.pull_request.number)", workflow) self.assertIn("github.event.pull_request.number || github.sha", workflow) self.assertIn("cancel-in-progress: ${{ github.event_name == 'pull_request' }}", workflow) self.assertIn("github.event.action != 'closed'", changes) @@ -223,7 +225,7 @@ def test_later_main_push_cannot_cancel_exact_sha_release_evidence(self): # push gets an immutable group and therefore runs its own exact-SHA # Build & Tests and Release Compile checks to a terminal conclusion. self.assertIn( - "group: desktop-swift-${{ github.event.pull_request.number || github.sha }}", + "group: desktop-swift-${{ (github.event.action == 'closed' && github.event.pull_request.merged && format('merged-{0}', github.event.pull_request.number)) || github.event.pull_request.number || github.sha }}", concurrency, ) self.assertIn( diff --git a/.github/workflows/desktop-swift-ci.yml b/.github/workflows/desktop-swift-ci.yml index b5d063082bc..43c04ff0591 100644 --- a/.github/workflows/desktop-swift-ci.yml +++ b/.github/workflows/desktop-swift-ci.yml @@ -10,7 +10,7 @@ on: concurrency: # Supersede stale revisions of the same PR, but never let a later main push # cancel the exact-SHA evidence consumed by desktop release planning. - group: desktop-swift-${{ github.event.pull_request.number || github.sha }} + group: desktop-swift-${{ (github.event.action == 'closed' && github.event.pull_request.merged && format('merged-{0}', github.event.pull_request.number)) || github.event.pull_request.number || github.sha }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: