mattermost/server/build
Jesse Hallam f6760151c4
Some checks failed
ESR Upgrade / Run ESR upgrade script from 5.37 to 7.8 (push) Has been cancelled
ESR Upgrade / Run ESR upgrade script from 5.37 to 6.3 (push) Has been cancelled
ESR Upgrade / Run ESR upgrade script from 6.3 to 7.8 (push) Has been cancelled
Server CI Master / master-ci (push) Has been cancelled
Web App CI Master / master-ci (push) Has been cancelled
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
..
docker [MM-62408] Server Code Coverage with Fully Parallel Tests (#30078) 2025-05-30 13:58:26 +02:00
docker-compose-generator Remove obsolete docker version (#30040) 2025-01-30 12:53:25 -07:00
docker-preview remove leftover mysql apt-key (#33708) (#33711) 2025-08-14 10:50:08 +03:00
dotenv [MM-62408] Server Code Coverage with Fully Parallel Tests (#30078) 2025-05-30 13:58:26 +02:00
notice-file fix: Ignore mm deps from Notice file (#30945) 2025-05-06 13:28:42 +03:00
.gitignore Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
docker-compose.common.yml Support Elasticsearch v9 (for v10.11) (#35925) 2026-04-20 20:44:31 +02:00
docker-compose.yml Remove obsolete docker version (#30040) 2025-01-30 12:53:25 -07:00
Dockerfile Fix PostgreSQL SSL connection issue with sslmode=require in distroless images (#33523) (#33538) 2025-07-23 13:28:49 +03:00
Dockerfile.buildenv s/bookwork/bullseye to preserve glibc < 2.34 (#33546) (#33629) 2025-08-06 20:49:03 +00:00
Dockerfile.elasticsearch Support Elasticsearch v9 (for v10.11) (#35925) 2026-04-20 20:44:31 +02:00
Dockerfile.opensearch Update mirrored images, build opensearch (#28835) 2024-10-18 09:45:51 +02:00
entrypoint.sh Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
legacy.mk Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
local-test-env.sh Switch to docker compose v2 (#25048) 2023-11-13 14:30:24 +01:00
MIT-COMPILED-LICENSE.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
passwd Fix PostgreSQL SSL connection issue with sslmode=require in distroless images (#33523) (#33538) 2025-07-23 13:28:49 +03:00
plugin-production-public-key.gpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
PRIVACY_POLICY.md [MM-52869] Update and fix links in the system console (#23694) 2023-06-19 18:46:52 +02:00
README.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
release.mk [release-10.11] Automate setup-go-work as a dependency for Make targets (#35780) 2026-04-02 13:45:24 +00:00

About this folder

This folder contains some files that we use to build the mattermost-server and other files like privacy policy and licenses.

The Dockerfile in this folder (Dockerfile.buildenv) is the build environment for our current builds you can find the docker image to download here or build your own.

Docker Image for building the Server

We have a docker image to build mattermost-server and it is based on Go docker image.

In our Docker Hub Repository we have the following images:

  • mattermost/mattermost-build-server:dec-7-2018 which is based on Go 1.11 you can use for MM versions <= 5.8.0
  • mattermost/mattermost-build-server:feb-28-2019 which is based on Go 1.12 you can use for MM versions >= 5.9.0 <= 5.15.0
  • mattermost/mattermost-build-server:sep-17-2019 which is based on Go 1.12.9 you can use for MM versions >= 5.16.0
  • mattermost/mattermost-build-server:20200322_golang-1.14.1 which is based on Go 1.14.1 you can use for MM versions >= 5.24.x
  • mattermost/mattermost-build-server:20201023_golang-1.14.6 which is based on Go 1.14.6 you can use for MM versions >= 5.25.x
  • mattermost/mattermost-build-server:20201119_golang-1.15.5 which is based on Go 1.15.5 you can use for MM versions >= 5.26.x to 5.37.x
  • mattermost/mattermost-build-server:20210810_golang-1.16.7 which is based on Go 1.16.X you can use for MM versions >= 5.38.x