mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Our codebase uses main_test.go files to control tests at a package level. However, the problem with that is when we use ./... to build the codebase, those binaries also get built. This is unnecessary and creates further delays in the pipeline. All we need to build are only mattermost and platform binaries in CI. The rest are dependant on the developer. In my dev environment, this reduces the build times from 13 seconds to 4 seconds. https://mattermost.atlassian.net/browse/MM-27735
About this folder
This folder contains some files that we use to build the mattermost-server using Jenkins 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-2018which is based on Go 1.11 you can use for MM versions <=5.8.0mattermost/mattermost-build-server:feb-28-2019which is based on Go 1.12 you can use for MM versions >=5.9.0<=5.15.0mattermost/mattermost-build-server:sep-17-2019which is based on Go 1.12.9 you can use for MM versions >=5.16.0mattermost/mattermost-build-server:20200322_golang-1.14.1which is based on Go 1.14.1 you can use for MM versions >=5.24.0mattermost/mattermost-build-server:20200731_golang-1.14.6which is based on Go 1.14.6 you can use for MM versions >=5.26.0