242 Коммитов

Автор SHA1 Сообщение Дата
Andre Vasconcelos
cbfcecb37c Bumping prepackaged gitlab plugin version to 1.12.3 (#37208)
Automatic Merge
2026-06-25 08:05:23 +02:00
Julien Tant
b7a67fb9a4 Bump prepackaged Playbooks plugin to v2.4.6 (#36968)
Automatic Merge
2026-06-09 07:29:43 +02:00
Christopher Speller
4439c6121d Update Agents plugin to v1.14.2 (#36741) 2026-05-27 05:29:21 +00:00
nang2049
a09598945e Update jira prepackaged version (#36442) (#36547)
Automatic Merge
2026-05-13 16:23:43 +02:00
Andre Vasconcelos
9fab838b16 Bumping prepackaged gitlab version to 1.12.2 (#36430) (#36447)
Automatic Merge
2026-05-13 12:23:44 +02:00
JG Heithcock
073bd3a6b7 Bumping prepackaged Playbooks plugin version to v2.4.5 (#36362) 2026-05-01 13:58:42 -07:00
Jesse Hallam
f6760151c4 Support Elasticsearch v9 (for v10.11) (#35925)
* Support Elasticsearch v9 alongside v8

* Add CI workflow changes for Elasticsearch v8/v9 testing

* Support Elasticsearch v7 in addition to v8/v9, add v7 CI test job

Lowers the minimum supported ES version from 8 to 7 to avoid dropping
v7 support in a dot release. Adds a dedicated CI job to verify v7
compatibility alongside the existing v8 and v9 (default) jobs.

* Fix ES7 plugin install crash on cgroup v2 hosts

* Fix ES 7 container startup on cgroup v2 Linux (GitHub Actions)

ES 7 bundles JDK 11, which crashes with a NullPointerException in
CgroupV2Subsystem.getMountPoint() on modern Linux kernels that use
cgroup v2 (including GitHub Actions ubuntu-latest runners). The flag
was already set during the Dockerfile RUN step, but not at runtime.

Adding -XX:-UseContainerSupport to ES_JAVA_OPTS in docker-compose
fixes the crash. The flag is harmless on ES 8/9 which ship JDK 17+
where the cgroup v2 bug is fixed (it simply opts out of container-aware
JVM sizing).

* Capture docker compose logs in CI test artifact

* Use ES 7.17.29 for v7 CI test; remove cgroup v2 workarounds

ES 7.17.0 bundled JDK 17.0.1 which had a cgroup v2 bug
(CgroupV2Subsystem NPE) not fixable via -XX:-UseContainerSupport.
ES 7.17.29 bundles JDK 22 where the bug is long fixed.

Reverts the -XX:-UseContainerSupport workarounds added in the
previous two commits as they were based on a wrong diagnosis
and are no longer needed.

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2026-04-20 20:44:31 +02:00
Rajat Dabade
b65ae49523 Upgraded board prepacked version to v9.2.4 (#36140)
Automatic Merge
2026-04-20 08:12:10 +02:00
Jesse Hallam
73d5f507a4 Cherry-pick Go 1.25.8 upgrade for release-10.11 (#36125)
* ci: shard server Postgres tests into 4 parallel runners (#35739)

* ci: add test sharding plumbing to server CI

Add infrastructure for upcoming test sharding without changing behavior:

- Add shard-index and shard-total inputs to server-test-template.yml
  (defaults preserve existing single-runner behavior)
- Add timing cache restore step (activates only when shard-total > 1)
- Add merge-postgres-test-results job to server-ci.yml that:
  - Merges JUnit XML reports from shard artifacts
  - Saves timing data cache for future shard balancing
  - Handles both single-artifact and multi-shard scenarios
- Add .gitignore entries for timing cache and shard work files

Co-authored-by: Claude <claude@anthropic.com>

* ci: shard server Postgres tests into 4 parallel runners

Extract sharding logic into standalone, tested scripts and enable
4-shard parallel test execution for server Postgres CI:

Scripts:
- server/scripts/shard-split.js: Node.js bin-packing solver that
  assigns test packages to shards using timing data from previous runs.
  Two-tier strategy: light packages (<2min) whole, heavy packages
  (api4, app) split at individual test level.
- server/scripts/run-shard-tests.sh: Multi-run wrapper that calls
  gotestsum directly for each package group with -run regex filters.
- server/scripts/shard-split.test.js: 8 test cases covering round-robin
  fallback, timing-based balancing, heavy package splitting, JUnit XML
  fallback, and enterprise package separation.

Workflow changes:
- server-test-template.yml: Add shard splitting step that discovers test
  packages and runs the solver. Modified Run Tests step to use wrapper
  script when sharding is active.
- server-ci.yml: Add 4-shard matrix to test-postgres-normal. Update
  merge job artifact patterns for shard-specific names.

Performance: 7.2 min with timing cache vs 62.5 min baseline = 88%
wall-time improvement. First run without cache uses JUnit XML fallback
or round-robin, then populates the cache for subsequent runs.

Co-authored-by: Claude <claude@anthropic.com>

* fix: raise heavy package threshold to 5 min to preserve test isolation

sqlstore integrity tests scan the entire database and fail when other
packages' test data is present. At 182s, sqlstore was just over the
120s threshold and getting split at test level. Raising to 300s keeps
only api4 (~38 min) and app (~15 min) as heavy — where the real
sharding gains are — while sqlstore, elasticsearch, etc. stay whole
and maintain their test isolation guarantees.

Co-authored-by: Claude <claude@anthropic.com>

* ci: only save test timing cache on default branch

PR branches always restore from master's timing cache via restore-keys
prefix matching. Timing data is stable day-to-day so this eliminates
cache misses on first PR runs and reduces cache storage.

Co-authored-by: Claude <claude@anthropic.com>

* ci: skip FIPS tests on PRs (enterprise CI handles compile check)

Per review feedback: the enterprise CI already runs a FIPS compile
check on every PR. Running the full FIPS test suite on PRs is redundant
since it uses the identical test suite as non-FIPS — the only
FIPS-specific failure mode is a build failure from non-approved crypto
imports, which the enterprise compile check catches.

Full FIPS tests continue to run on every push to master.

Co-authored-by: Claude <claude@anthropic.com>

* fix: address review feedback on run-shard-tests.sh

- Remove set -e so all test runs execute even if earlier ones fail;
  track failures and exit with error at the end (wiggin77)
- Remove unused top-level COVERAGE_FLAG variable (wiggin77)
- Fix RUN_IDX increment position so report, json, and coverage files
  share the same index (wiggin77)
- Update workflow comment: heavy threshold is 5 min, not 2 min (wiggin77)

Co-authored-by: Claude <claude@anthropic.com>

* style: use node: prefix for built-in fs module in shard-split.js

Co-authored-by: Claude <claude@anthropic.com>

* fix: avoid interpolating file paths into generated shell script

Read shard package lists from files at runtime instead of interpolating
them into the generated script via printf. This prevents theoretical
shell metacharacter injection from directory names, as flagged by
DryRun Security.

Co-authored-by: Claude <claude@anthropic.com>

* fix(ci): rename merged artifact to match server-ci-report glob

The merged artifact was named postgres-server-test-logs-merged which
does not match the *-test-logs pattern in server-ci-report.yml,
causing Postgres test results to be missing from PR/commit reports.

Also pins junit-report-merger to exact version 7.0.0 for supply chain
safety.

Co-authored-by: Claude <claude@anthropic.com>

* fix(ci): pass RACE_MODE env into Docker container

RACE_MODE was set on the host runner but never included in the docker
run --env list. The light-package path worked because the heredoc
expanded on the host, but run-shard-tests.sh reads RACE_MODE at
runtime inside the container where it was unset. This caused heavy
packages (api4, app) to silently lose -race detection.

Co-authored-by: Claude <claude@anthropic.com>

* fix(ci): discover new tests in heavy packages not in timing cache

Tests not present in the timing cache (newly added or renamed) would
not appear in any shard -run regex, causing them to silently skip.
After building items from the cache, run go test -list to discover
current test names and assign any cache-missing tests to shards via
the normal bin-packing algorithm with a small default duration.

Co-authored-by: Claude <claude@anthropic.com>

* fix(ci): add missing line continuation backslash in docker run

The previous --env FIPS_ENABLED line was missing a trailing backslash
after adding --env RACE_MODE, causing docker run to see a truncated
command and fail with "requires at least 1 argument".

Co-authored-by: Claude <claude@anthropic.com>

* fix(ci): add setup-go step for shard test discovery

go test -list in shard-split.js runs on the host runner via execSync,
but Go is only available inside the Docker container. Without this
step, every invocation fails silently and new-test discovery is a
no-op. Adding actions/setup-go before the shard split step ensures
the Go toolchain is available on the host.

Co-authored-by: Claude <claude@anthropic.com>

---------

Co-authored-by: Claude <claude@anthropic.com>

* updated go to version 1.25.8 (#35817)

* updated go to version 1.25.8

* updated gotestsum version to work with go 1.25.8

go 1.25 does not work with indirect tools 0.11 dependency pulled by
gotestsum.

* Use sync.WaitGroup.Go to simplify goroutine creation

Replace the wg.Add(1) + go func() { defer wg.Done() }() pattern with
wg.Go(), which was introduced in Go 1.25.

* pushes fips image on workflow dispatch to allow fips test to run on go version update

* fix new requirements for FIPS compliance imposed on updating to go 1.25.8

* updates openssl symbol check for library shipped with FIPS new versions

go-openssl v2 shipped with FIPS versions starting from 1.25 uses mkcgo to generate
bindings causing symbol names to be different.

* removes temp workflow-dispatch condition

* keep versions out of agents md file

* upgrade golangci-lint (#35845)

* test: clean up channel store data after TestChannelStore (#36066)

TestChannelStore sub-tests create channels, members, and team members
using fake TeamIds and UserIds (model.NewId() for non-existent rows).
These records are left in the database and cause integrity tests
(TestCheck*) running in the same binary to fail their full-table scans.

Register a t.Cleanup on TestChannelStore that purges the affected
tables entirely. A blanket purge is safe: the schema enforces no FK
constraints, and every test suite creates its own data independently.

* Fix command injection in server-test-template workflow (#36080)

Replace the unquoted heredoc (which embedded GITHUB_HEAD_REF into a
generated script) with a cp of the existing run-shard-tests.sh, which
already handles the light-only case. Pass BUILD_NUMBER and TEST_TARGET
as explicit docker env vars instead of interpolating them into script
content.

* fix(ci): restore testname format in sharded gotestsum runs (#36078)

run-shard-tests.sh called gotestsum directly without --format, so it
fell back to gotestsum's default (pkgname) instead of the testname
format set by the Makefile. Pass --format "${GOTESTSUM_FORMAT:-testname}"
to match the Makefile default.

Co-authored-by: Mattermost Build <build@mattermost.com>

* fix(lint): fix pre-existing golangci-lint v2.11.4 issues

Fix misspelling in comment and redundant nil check flagged by the
upgraded linter.

* ci: use golang image for test runner on release-10.11

mattermost-build-server images are not built for release branches.
Use the official golang image which is always available for any Go version.

* ci: use mattermost/mattermost-build-server for release-10.11

The mattermostdevelopment/ images are only built for master.
The production mattermost/ images are built for release branches.

* ci: use mattermost/mattermost-build-server in mmctl test template

The mattermostdevelopment/ images are only built for master.
The production mattermost/ images are built for release branches.

---------

Co-authored-by: Pavel Zeman <pavel.zeman@mattermost.com>
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Carlos Garcia <carlos.garcia@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2026-04-16 09:14:15 -03:00
nang2049
82b3f494b4 Add prepackaged version of github plugin v2.7. (#35968) (#36107)
Automatic Merge
2026-04-15 15:12:22 +02:00
Andre Vasconcelos
54b48f32d1 Bumping prepackaged zoom version to 1.13.0 (#35998) (#36030)
Automatic Merge
2026-04-15 12:12:13 +02:00
Amy Blais
e092af7a33 Revert "[release-10.11] Add prepackaged version of github plugin v2.7.0 (#35973)" (#36012)
Automatic Merge
2026-04-10 08:06:03 +02:00
Just Nev
4399e4c97c [release-10.11] Add prepackaged version of github plugin v2.7.0 (#35973)
Cherry-pick of e2e7aed678d12e9d2ed121682933943a917a32ba onto release-10.11

Co-authored-by: Nevyana Angelova <nevyangelova@192.168.100.47>
2026-04-08 13:15:42 +03:00
Jesse Hallam
70d1794916 [release-10.11] Automate setup-go-work as a dependency for Make targets (#35780)
* Automate setup-go-work as a dependency for Make targets (#35476)

* automate setup-go-work

It's all to easy to forget to `make setup-go-work`, only to run into mysterious build failures. Let's default to doing this automatically, unless `SKIP_SETUP_GO_WORK` is true (or the legacy `IGNORE_GO_WORK_IF_EXISTS`, which was oddly named, since we can't actually ignore it.)

* Make setup-go-work recipe fail-fast with set -e

* ci: post success to required e2e status contexts when no relevant changes (#35880)

* ci: post correct skip status from within cypress/playwright reusable workflows

The 'Required Status Checks' ruleset requires e2e-test/cypress-full/enterprise
and e2e-test/playwright-full/enterprise on master and release-*.* branches.
When a PR has no E2E-relevant changes, the jobs were silently skipped, leaving
required statuses unset and the PR permanently blocked.

Architecture fix: instead of a separate skip-e2e job in the caller that
hardcodes status context names, the skip logic now lives inside the reusable
workflows that already own and compute those context names.

Changes:
- e2e-tests-cypress.yml: add should_run input (default 'true') + skip job
  that uses the dynamically-computed context_name when should_run == 'false'
- e2e-tests-playwright.yml: same pattern
- e2e-tests-ci.yml: change e2e-cypress/e2e-playwright job conditions from
  should_run == 'true' to PR_NUMBER != '' (always run when there's a PR),
  pass should_run as input to both reusable workflows

* Add E2E template workflows for Cypress and Playwright

* Add check-e2e-test-only action for E2E workflow

* Fix: Remove circular E2E workflow file check - skip tests when only CI files change

* Add pull_request trigger to E2E workflow - run automatically on PR events

* Fix resolve-pr to use github.event context for automatic pull_request trigger

* Fix checkout condition to work with pull_request events

* Fix: Remove orphaned fi statement in check-changes script

---------

Co-authored-by: yasser khan <attitude3cena.yf@gmail.com>
2026-04-02 13:45:24 +00:00
Bill Gardner
415033217e Update plugin-calls to v1.11.4 (#35662)
Automatic Merge
2026-03-19 08:00:55 +01:00
Julien Tant
6b2e530d00 Bumping prepackaged Playbooks plugin version to v2.4.4 (#35677)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:23:43 -07:00
Andre Vasconcelos
768dc7dfb9 Bumping prepackaged GitLab plugin version to v1.12.1 (#35595) (#35602)
Automatic Merge
2026-03-16 10:55:37 +01:00
Andre Vasconcelos
68dc691fee Bumping prepackaged MS Teams Meetings plugin version to 2.4.1 (#35564) (#35575)
Automatic Merge
2026-03-16 10:55:30 +01:00
Bill Gardner
fae6cc9001 update plugin-calls to v1.11.1 (#35447)
Automatic Merge
2026-03-03 10:55:20 +01:00
Julien Tant
dbd201f208 Update Makefile (#35290)
Automatic Merge
2026-02-16 13:09:27 +02:00
Just Nev
23eb77c102 chore: Update zoom version to 1.12.0 (#35167) (#35190)
Automatic Merge
2026-02-13 11:09:36 +02:00
Carlos Garcia
20d28987a7 Manual cherry-pick MM-66167 fix (#35061) (#35087)
Automatic Merge
2026-01-28 13:53:28 +02:00
Rajat Dabade
a75d26b4ac Upgraded board prepacked version to v9.2.2 (#34999)
Automatic Merge
2026-01-21 11:48:53 +02:00
Andre Vasconcelos
f423bea281 Manual cherry-pick on #34803 (#34817)
* Bumping prepackaged Jira Plugin version to v4.5.0 (#34803)

# Conflicts:
#	server/Makefile

* Fixing linter error that fails e2e smoke tests
2025-12-22 17:23:01 +02:00
Just Nev
ccc7fde051 Update Zoom prepackaged version to 1.11.0 (#34734) (#34765)
Co-authored-by: Nevyana Angelova <nevyangelova@Nevy-Macbook-16-2025.local>
2025-12-17 18:22:57 +02:00
Just Nev
7c36acb68c Update Jira prepackaged (#34551) (#34570)
Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
2025-11-21 13:23:57 +00:00
Christopher Speller
9d74b930db Update Agents plugin to v1.4.0 (#34129) (#34452)
Automatic Merge
2025-11-12 09:31:48 +02:00
Bill Gardner
1a5b8f9f88 Update Calls to v1.11.0 (#34399) (#34426)
Automatic Merge
2025-11-07 09:01:51 +02:00
Maria A Nunez
3b05384dd0 Update github prepackaged version (#34409) 2025-11-06 05:35:14 -05:00
Mattermost Build
e7e23b94e0 Bump prepackage MsTeams plugin version to 2.3.0 (#34347) (#34359)
Automatic Merge
2025-10-31 11:59:24 +02:00
Rajat Dabade
56163e9e0e Upgraded board prepackage version to v9.1.7 (#34191)
Automatic Merge
2025-10-17 18:43:39 +03:00
Amy Blais
891a006890 Update msteams prepackaged plugin (#34049)
Automatic Merge
2025-10-03 16:36:25 +03:00
Mattermost Build
7eda0e799c Prepackage playbooks v2.3.0 (#33574) (#33579)
Automatic Merge
2025-07-29 11:34:00 +03:00
Mattermost Build
4952acea88 update calls (#33477) (#33491)
Automatic Merge

(cherry picked from commit 59f74324547f8d821568136519dd888cce94ca9a)

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2025-07-21 09:22:09 +03:00
Mattermost Build
e7fe67e03c Upgrading board prepackage version to v9.1.5 (#33447) (#33460)
Automatic Merge
2025-07-18 10:28:41 +03:00
Christopher Speller
c11df2ff7a Update Agents plugin to v1.2.4 (#33273) 2025-07-04 08:28:48 +03:00
Christopher Speller
b3724d1151 Update Agents plugin to v1.2.2 (#32481) 2025-06-30 05:45:34 -07:00
Christopher Speller
124ceb54ee Update Agents plugin to v1.2.1 (#32124) 2025-06-26 03:54:39 -07:00
Christopher Speller
48ec3fe473 Update Agents plugin to v1.2.0 (#31806)
* Update Agents plugin to v1.2.0

* Rename
2025-06-23 04:57:28 -07:00
Maria A Nunez
ec7c1e6d51 Removed NPS plugin (#31418)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-20 11:39:29 -04:00
Rajat Dabade
f980a538c5 Updated board prepackaged version to v9.1.4 (#31771) 2025-06-19 23:43:18 +05:30
Claudio Costa
8949a5c91c Prepackage Calls v1.9.1 (#31652) 2025-06-17 11:31:37 -06:00
Rajat Dabade
9fe44bfa6a Updated board prepackaged version to v9.1.3 (#31306)
Automatic Merge
2025-06-11 13:16:06 +03:00
Jesse Hallam
e6d8bf5835 Upgrade Go to 1.24.3 (#31220)
* Upgrade Go to 1.24.3

Updates the following files:
- server/.go-version: 1.23.9 → 1.24.3
- server/build/Dockerfile.buildenv: golang:1.23.9-bullseye → golang:1.24.3-bullseye
- server/go.mod: go 1.23.0 → go 1.24.3, toolchain go1.23.9 → go1.24.3
- server/public/go.mod: go 1.23.0 → go 1.24.3, toolchain go1.23.9 → go1.24.3

Also fixes non-constant format string errors introduced by Go 1.24.3's stricter format string checking:
- Added response() helper function in slashcommands/util.go for simple string responses
- Removed unused responsef() function from slashcommands/util.go
- Replaced responsef() with response() for translated strings that don't need formatting
- Fixed fmt.Errorf and fmt.Fprintf calls to use proper format verbs instead of string concatenation
- Updated marketplace buildURL to handle format strings conditionally

🤖 Generated with [Claude Code](https://claude.ai/code)

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

* Update generated mocks for Go 1.24.3

Regenerated mocks using mockery v2.53.4 to ensure compatibility with Go 1.24.3.
This addresses mock generation failures that occurred with the Go upgrade.

🤖 Generated with [Claude Code](https://claude.ai/code)

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

* Update to bookworm and fix non-existent sha

Signed-off-by: Stavros Foteinopoulos <stafot@gmail.com>

* fix non-constant format string

---------

Signed-off-by: Stavros Foteinopoulos <stafot@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Stavros Foteinopoulos <stafot@gmail.com>
2025-06-10 15:04:57 -03:00
Caleb Roseland
949b45a0f9 bump playbooks 1.41.1 (#31276) 2025-06-02 15:47:32 -05:00
Jesse Hallam
e04f487cb8 adopt golangci-lint v2 (#31222)
* adopt golangci-lint v2

No actual linting changes in this commit, just upgraded tooling and
directives to ignore new linter rules. Adopting v2 solves some
gosec issues in v1 and also happens to be a nice performance boost!
As part of this PR, we also drop support for `MM_NO_ENTERPRISE_LINT`
which hasn't been need for a while anyway.

* simplify: go install is fine!

* missing GOBIN

* golangci-lint: drop legacy preset exclusion
2025-05-30 15:31:30 +00:00
Claudio Costa
611b2a8e79 [MM-62408] Server Code Coverage with Fully Parallel Tests (#30078)
* TestPool

* Store infra

* Store tests updates

* Bump maximum concurrent postgres connections

* More infra

* channels/jobs

* channels/app

* channels/api4

* Protect i18n from concurrent access

* Replace some use of os.Setenv

* Remove debug

* Lint fixes

* Fix more linting

* Fix test

* Remove use of Setenv in drafts tests

* Fix flaky TestWebHubCloseConnOnDBFail

* Fix merge

* [MM-62408] Add CI job to generate test coverage (#30284)

* Add CI job to generate test coverage

* Remove use of Setenv in drafts tests

* Fix flaky TestWebHubCloseConnOnDBFail

* Fix more Setenv usage

* Fix more potential flakyness

* Remove parallelism from flaky test

* Remove conflicting env var

* Fix

* Disable parallelism

* Test atomic covermode

* Disable parallelism

* Enable parallelism

* Add upload coverage step

* Fix codecov.yml

* Add codecov.yml

* Remove redundant workspace field

* Add Parallel() util methods and refactor

* Fix formatting

* More formatting fixes

* Fix reporting
2025-05-30 13:58:26 +02:00
Claudio Costa
56c6d8a9ab Prepackage Calls v1.8.0 (#31124) 2025-05-21 09:21:39 +02:00
kshitij katiyar
14dfc71e10 Bump prepackage Jira plugin version to 4.3.0 (#31098)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-05-20 18:26:29 -04:00
Caleb Roseland
5021fc72c6 Prepackage Playbooks 2.2.0 (#31067) 2025-05-19 16:42:22 -05:00