mattermost/.github/workflows
Christopher Poile 03f2eaaa0b
[MM-68400] Four plugin hooks and ChannelGuard enforcement (#36152)
* allow workflow_dispatch trigger for Server CI (for plugins CI)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* [MM-68402] MBE Phase 2: declare four generic plugin hooks (#36291)

* new hooks-only phase 2

* remove ChannelWillBeMoved

* remove RecapWillBeProcessed and MessageWillBeRewrittenByAI

Drop the AI/recap hooks from the new-hook surface; AI-LLM paths
remain uncovered in tech preview and are documented as residuals.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* [MM-68403] MBE Phase 3: ChannelGuards primitive (storage + cache + plugin API) (#36365)

* phase 3

* phase 3: register ChannelGuard mock in test setup helper

NewChannels' startup-time call to reloadGuardCache invokes
s.ChannelGuard().GetAll(); without an expectation on the mock store,
every test that sets up the server with GetMockStoreForSetupFunctions
panics during init.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* phase 3: register ChannelGuard mock in retrylayer test

retrylayer.New walks every store getter to wrap it; without the mock
expectation on ChannelGuard, TestRetry panics during layer construction.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* use rctx properly in the store methods

* phase 3: match rctx arg in testlib ChannelGuard mock

GetAll now takes request.CTX, so the testify expectation must include
mock.Anything; otherwise the call panics under the mocked store.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* phase 3: set api.ctx in TestChannelGuardLowercaseNormalization

The test constructs PluginAPI directly without a ctx, which used to
work when App.RegisterChannelGuard built its own EmptyContext. Now
that the App methods take rctx from the caller, the nil ctx panics
inside RequestContextWithMaster.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* [MM-68404] MBE Phase 4: App-layer plugin hook wiring (#36407)

* phase 4

* Fix nil rctx in TestChannelGuardLowercaseNormalization

The PluginAPI struct literal was missing ctx: rctx after a refactor
moved the rctx declaration below the struct construction, leaving
api.ctx as nil. This caused a nil pointer dereference in reloadGuardCache
when RegisterChannelGuard called store.RequestContextWithMaster(nil).

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* Remove ChannelWillBeMoved hook call from MoveChannel (phase 4)

The hook and its ID were removed from mbe-phase-2 but the call site in
MoveChannel and its i18n string were not cleaned up during the rebase.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* remove channel will be moved test

* Remove RecapWillBeProcessed and MessageWillBeRewrittenByAI hook calls (phase 4)

The hooks and their IDs were removed from mbe-phase-2 but the call sites
in ProcessRecapChannel and RewriteMessage, their i18n strings, and their
tests were not cleaned up during the rebase.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Revert channel_id plumbing on rewrite endpoint (phase 4)

The channel_id field on RewriteRequest was added in phase 4 to feed the
synthetic post passed to MessageWillBeRewrittenByAI. With that hook
removed from mbe-phase-2, channel_id has no consumer; revert the field,
the api4 validation, the app.RewriteMessage parameter, and the
corresponding webapp client + hook plumbing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* [MM-68555] MBE Phase 5: Channel-guard enforcement + two-phase dispatch (#36473)

* phase 5

* Bake plugin counter-file paths into source instead of env vars

t.Setenv panics when an ancestor test calls t.Parallel, so the two
channel-guard tests broke under ENABLE_FULLY_PARALLEL_TESTS in CI.
Build each plugin source per-subtest with its temp file path embedded
as a Go literal — same pattern as TestPluginUploadsAPI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Remove guarded helpers and tests for dropped hooks (phase 5)

The runGuardedRecapWillBeProcessed and runGuardedMessageWillBeRewrittenByAI
helpers were never wired (their app-layer call sites were already removed
in the phase-4 cleanup), and the corresponding sub-tests across panic /
allow / reject / partial plugins reference hooks that no longer exist.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* [MM-68405] MBE Phase 6: fire MessagesWillBeConsumed on the edit path (#36475)

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* rebase onto master

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 18:16:05 +00:00
..
api.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
build-opensearch-image.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
build-server-image.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
claude.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
codeql-analysis.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
config-change-checker.yml Automations for config.json, API, audit log event, and Go release notes (#36075) 2026-05-19 12:04:25 +03:00
docker-push-mirrored.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
docs-impact-review.yml Update docs-impact-review.yml (#36260) 2026-04-27 14:57:52 +03:00
e2e-fulltests-ci.yml chore: bump versions of actions (#35386) 2026-03-06 09:35:11 +08:00
e2e-tests-check.yml refactor: speed up E2E test workflows and eliminate npm cache-restore failures (#36599) 2026-05-19 11:26:39 +08:00
e2e-tests-ci-template.yml chore(ci): consolidate openldap runner prep into a composite action (#36563) 2026-05-14 14:28:51 +05:30
e2e-tests-ci.yml fix: permission required by e2e test-system-io actions (#36478) 2026-05-08 10:56:30 +08:00
e2e-tests-cypress-template-v2.yml refactor: speed up E2E test workflows and eliminate npm cache-restore failures (#36599) 2026-05-19 11:26:39 +08:00
e2e-tests-cypress-template.yml ci: fix cypress statuses perms (#36220) 2026-04-22 21:36:39 +00:00
e2e-tests-cypress.yml Update E2E test workflows to use context names and server images and bump playwright workers to 10 (#36496) 2026-05-11 11:57:52 +08:00
e2e-tests-on-merge.yml fix: permission required by e2e test-system-io actions (#36478) 2026-05-08 10:56:30 +08:00
e2e-tests-on-release.yml fix: permission required by e2e test-system-io actions (#36478) 2026-05-08 10:56:30 +08:00
e2e-tests-override-status.yml add override for e2e test on fips (#36128) 2026-04-16 10:40:07 +08:00
e2e-tests-playwright-template-v2.yml refactor: speed up E2E test workflows and eliminate npm cache-restore failures (#36599) 2026-05-19 11:26:39 +08:00
e2e-tests-playwright-template.yml refactor: speed up E2E test workflows and eliminate npm cache-restore failures (#36599) 2026-05-19 11:26:39 +08:00
e2e-tests-playwright.yml Update E2E test workflows to use context names and server images and bump playwright workers to 10 (#36496) 2026-05-11 11:57:52 +08:00
e2e-tests-verified-label.yml add override for e2e test on fips (#36128) 2026-04-16 10:40:07 +08:00
i18n-ci-pr.yml prevent modifying non-English translation files (#25002) 2023-10-19 14:40:06 -03:00
i18n-ci-template.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
mmctl-test-template.yml updated go to version 1.25.8 (#35817) 2026-03-27 21:11:52 +01:00
pr-test-analysis-override.yml chore: update reusable workflows to specific commit sha (#36600) 2026-05-19 10:57:53 +08:00
pr-test-analysis.yml chore: update reusable workflows to specific commit sha (#36600) 2026-05-19 10:57:53 +08:00
scorecards-analysis.yml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
sentry.yaml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
server-ci-artifacts.yml MM-68120 - Use repo checkout for build files in server-ci-artifacts (#35842) 2026-04-01 14:12:56 +03:00
server-ci-nightly-race.yml ci: move FIPS and binary params tests to weekly schedule (#36036) 2026-04-20 16:38:46 -04:00
server-ci-report.yml Add auth token to flaky test webhook (#36636) 2026-05-19 20:34:27 -04:00
server-ci-weekly.yml ci: disable fullyparallel for unsharded weekly Postgres jobs (#36390) 2026-05-04 15:52:35 +03:00
server-ci.yml [MM-68400] Four plugin hooks and ChannelGuard enforcement (#36152) 2026-05-21 18:16:05 +00:00
server-test-merge-template.yml ci: invalidate poisoned shard-timing cache and guard future saves (#36568) 2026-05-14 16:01:49 +00:00
server-test-template.yml ci: invalidate poisoned shard-timing cache and guard future saves (#36568) 2026-05-14 16:01:49 +00:00
tag-public-module.yaml Bump the github-actions-updates group with 11 updates (#35500) 2026-03-07 13:36:18 +08:00
tools-ci.yml Inline mattermost-govet into the monorepo (#35869) 2026-04-01 13:24:22 +00:00
webapp-ci.yml ci: re-enable server test coverage with 4-shard parallelism (#35743) 2026-04-09 15:27:50 -04:00
yamllint.yml ci: add yamllint workflow to detect duplicate YAML keys (#36010) 2026-04-20 17:25:12 -04:00