|
1 | 1 | name: CMT Provisioner |
2 | 2 |
|
3 | | -# Lightweight trigger workflow for Compatibility Matrix Testing (CMT). |
4 | | -# |
5 | | -# Matterwick listens for this workflow's workflow_run:requested event, then provisions one |
6 | | -# Mattermost cloud instance per version in its hardcoded CMT version set (Matterwick's |
7 | | -# CMTServerVersions config / CMTVersions, e.g. the active ESR plus the current feature |
8 | | -# release) and dispatches compatibility-matrix-testing.yml with the CMT_MATRIX input. |
9 | | -# When compatibility-matrix-testing.yml completes, Matterwick destroys the provisioned |
10 | | -# instances (cleanup is keyed off the completed workflow_run, matched by commit SHA). |
11 | | -# |
12 | | -# The server-version set lives in Matterwick config (managed via gitops), so this workflow |
13 | | -# takes no inputs. Run it manually from the Actions tab, or let it fire automatically on |
14 | | -# release branches (below). |
15 | | -# |
16 | | -# NOTE (intentional duplicate coverage): a release-v* push ALSO triggers Matterwick's normal |
17 | | -# release E2E flow (whole suite against the single latest server version). CMT additionally |
18 | | -# runs the whole suite against its multi-version matrix, whose set includes the latest server. |
19 | | -# So on a release push the latest server version gets the suite run twice (once by the normal |
20 | | -# release flow, once by the CMT latest-version leg). This is expected and accepted. |
| 3 | +# Lightweight signal workflow for Compatibility Matrix Testing (CMT). |
| 4 | +# When this runs, matterwick detects the workflow_run:requested event, provisions one |
| 5 | +# cloud server per version in its CMT set, and dispatches compatibility-matrix-testing.yml. |
| 6 | +# Triggers: RC tag pushes (e.g. v6.2.2-rc.1) and manual workflow_dispatch. |
21 | 7 |
|
22 | 8 | on: |
23 | | - # Run CMT when a release branch is cut and on every subsequent push to it. The first push |
24 | | - # that creates release-v* is the "cut"; later pushes to it re-run CMT. |
25 | 9 | push: |
26 | | - branches: |
27 | | - - "release-v*" |
28 | | - # Manual runs from the Actions tab (against any branch). |
| 10 | + tags: |
| 11 | + - "v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" |
29 | 12 | workflow_dispatch: {} |
30 | 13 |
|
31 | | -# This workflow does not use GITHUB_TOKEN. Its only purpose is to emit a workflow_run event |
32 | | -# that Matterwick reacts to; it does not check out the repo or call the GitHub API. Drop all |
33 | | -# GITHUB_TOKEN scopes so the runner-issued token cannot modify the repo if a step is added later. |
34 | 14 | permissions: {} |
35 | 15 |
|
36 | 16 | jobs: |
37 | | - signal: |
| 17 | + trigger-matterwick: |
38 | 18 | runs-on: ubuntu-22.04 |
39 | 19 | steps: |
40 | | - - name: Signal Matterwick to provision CMT servers |
41 | | - run: | |
42 | | - echo "CMT trigger started." |
43 | | - echo "Matterwick provisions one server per configured version and then" |
44 | | - echo "dispatches compatibility-matrix-testing.yml automatically." |
| 20 | + - name: Signal matterwick |
| 21 | + run: echo "CMT provisioning requested — matterwick will handle provisioning and dispatch." |
0 commit comments