From c75e34284624316f8017df1461f44f5c62fb8e25 Mon Sep 17 00:00:00 2001 From: yasserfaraazkhan Date: Tue, 30 Jun 2026 06:10:59 +0530 Subject: [PATCH 1/3] cmt: tighten provisioner comments and job name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shorten the header comment, rename the job to trigger-matterwick for consistency with the mobile repo, and collapse the multi-line echo to one line. No functional change — the workflow still just emits a workflow_run event that matterwick reacts to. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/cmt-provisioner.yml | 39 +++++++-------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/.github/workflows/cmt-provisioner.yml b/.github/workflows/cmt-provisioner.yml index 04eff50362a..8744d65c2ea 100644 --- a/.github/workflows/cmt-provisioner.yml +++ b/.github/workflows/cmt-provisioner.yml @@ -1,44 +1,25 @@ name: CMT Provisioner -# Lightweight trigger workflow for Compatibility Matrix Testing (CMT). -# -# Matterwick listens for this workflow's workflow_run:requested event, then provisions one -# Mattermost cloud instance per version in its hardcoded CMT version set (Matterwick's -# CMTServerVersions config / CMTVersions, e.g. the active ESR plus the current feature -# release) and dispatches compatibility-matrix-testing.yml with the CMT_MATRIX input. -# When compatibility-matrix-testing.yml completes, Matterwick destroys the provisioned -# instances (cleanup is keyed off the completed workflow_run, matched by commit SHA). -# -# The server-version set lives in Matterwick config (managed via gitops), so this workflow -# takes no inputs. Run it manually from the Actions tab, or let it fire automatically on -# release branches (below). -# -# NOTE (intentional duplicate coverage): a release-v* push ALSO triggers Matterwick's normal -# release E2E flow (whole suite against the single latest server version). CMT additionally -# runs the whole suite against its multi-version matrix, whose set includes the latest server. -# So on a release push the latest server version gets the suite run twice (once by the normal -# release flow, once by the CMT latest-version leg). This is expected and accepted. +# Trigger workflow for Compatibility Matrix Testing (CMT). +# When this workflow runs, GitHub fires a workflow_run webhook to matterwick. +# Matterwick provisions one cloud server per version and dispatches +# compatibility-matrix-testing.yml automatically. on: - # Run CMT when a release branch is cut and on every subsequent push to it. The first push - # that creates release-v* is the "cut"; later pushes to it re-run CMT. + # Run CMT when a release branch is cut and on every subsequent push to it. push: branches: - "release-v*" # Manual runs from the Actions tab (against any branch). workflow_dispatch: {} -# This workflow does not use GITHUB_TOKEN. Its only purpose is to emit a workflow_run event -# that Matterwick reacts to; it does not check out the repo or call the GitHub API. Drop all -# GITHUB_TOKEN scopes so the runner-issued token cannot modify the repo if a step is added later. +# This workflow does not use GITHUB_TOKEN. Its only purpose is to emit a +# workflow_run event that matterwick reacts to. permissions: {} jobs: - signal: + trigger-matterwick: runs-on: ubuntu-22.04 steps: - - name: Signal Matterwick to provision CMT servers - run: | - echo "CMT trigger started." - echo "Matterwick provisions one server per configured version and then" - echo "dispatches compatibility-matrix-testing.yml automatically." + - name: Signal matterwick + run: echo "CMT provisioning requested — matterwick will handle provisioning and dispatch." From 27845d4afc135912750f9ec8b803400929b55a61 Mon Sep 17 00:00:00 2001 From: yasserfaraazkhan Date: Tue, 30 Jun 2026 06:22:06 +0530 Subject: [PATCH 2/3] cmt: correct stale cleanup comment (run id, not SHA) Matterwick keys CMT cleanup on the dispatched test workflow run id, matching the mobile repo's behavior. The "matched by commit SHA" note was stale. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/compatibility-matrix-testing.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compatibility-matrix-testing.yml b/.github/workflows/compatibility-matrix-testing.yml index b73b5ce376f..de7e153646c 100644 --- a/.github/workflows/compatibility-matrix-testing.yml +++ b/.github/workflows/compatibility-matrix-testing.yml @@ -13,7 +13,8 @@ on: # Supersede an in-flight CMT run for the same ref (e.g. rapid release-branch pushes) so we don't # pay for overlapping multi-version matrices. Matterwick reaps the cancelled run's provisioned -# servers on its workflow_run "completed" (cancelled) event, matched by commit SHA. +# servers on its workflow_run "completed" (cancelled) event, matched by the dispatched test +# workflow run id (not commit SHA). concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true From d9fd1b1ac44f3e78357ae0181a91e697d179169e Mon Sep 17 00:00:00 2001 From: yasserfaraazkhan Date: Tue, 30 Jun 2026 06:46:20 +0530 Subject: [PATCH 3/3] cmt: trigger on RC tag cuts (v*-rc*) not release branches release-v* never matched since real branches are release-X.Y (no v prefix). Align with PR #3846: fire on v*-rc* tags (e.g. v6.2.0-rc.1) so CMT runs on each RC cut, not on every release-branch push. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/cmt-provisioner.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmt-provisioner.yml b/.github/workflows/cmt-provisioner.yml index 8744d65c2ea..7927f12e9ff 100644 --- a/.github/workflows/cmt-provisioner.yml +++ b/.github/workflows/cmt-provisioner.yml @@ -6,11 +6,11 @@ name: CMT Provisioner # compatibility-matrix-testing.yml automatically. on: - # Run CMT when a release branch is cut and on every subsequent push to it. + # Fire on each RC tag cut (v6.2.0-rc.1, v6.2.0-rc.2, …). push: - branches: - - "release-v*" - # Manual runs from the Actions tab (against any branch). + tags: + - "v*-rc*" + # Manual runs from the Actions tab (any ref). workflow_dispatch: {} # This workflow does not use GITHUB_TOKEN. Its only purpose is to emit a