mirror of
https://github.com/mattermost/mattermost.git
synced 2026-09-19 02:06:37 +08:00
* ci: standardize checkout action inputs across workflows (#36876) * ci: standardize checkout action inputs across workflows * ci: checkout in claude pipeline use default * ci: make setup-go-work a Makefile prereq, remove explicit CI steps (#37268) * ci: auto-build missing buildenv images for in-flight Go version bumps (#37286) * ci: replace volatile e2e-platform-pkgs cache with shared webapp-setup (#37182) * ci: replace volatile e2e-platform-pkgs cache with shared webapp-setup * ci: replace volatile e2e-platform-pkgs cache in cypress template v2 * ci: tighten prep-deps comments * fix: typo in webapp-setup comment * chore(ci): warm node and npm caches daily; make CI jobs restore read-only (#37393) * chore(ci): warm node and npm caches daily; make CI jobs restore read-only Add daily scheduled workflows on master that warm two independent caches, each in its own workflow mirroring its consumers: - webapp-ci-cache-warm.yml warms the webapp node_modules cache (keyed on webapp/package-lock.json) - e2e-ci-cache-warm.yml warms the E2E ~/.npm registry cache (keyed on the cypress/playwright/api lockfiles) Webapp CI and the E2E/api CI jobs now restore these caches read-only instead of writing them, so the daily jobs keep the caches warm. The E2E ~/.npm restore is factored into a reusable restore-e2e-npm-cache composite action, and webapp-setup gains a read-only mode for the node_modules cache. * chore(ci): guard cache-warm workflows with a concurrency group * chore(ci): drop unused node-cache-dependency-path output * chore(ci): reuse webapp-setup for node_modules in e2e-tests-check * Move e2e npm registry cache out of the node-cache- namespace (#37427) The e2e npm registry cache keyed on node-cache-<os>-<arch>-npm-e2e-, sharing the node-cache- prefix that actions/setup-node generates automatically for its built-in npm cache (node-cache-<os>-<arch>-npm-). Because the arch segment differs only by case (setup-node uses Node's process.arch 'x64'; this action uses runner.arch 'X64') and GitHub matches restore-key prefixes case-insensitively, the two buckets share a common prefix. A future broad restore-key such as node-cache-<os>-<arch>-npm- could then cross-restore one bucket's ~/.npm into the other. Rename the key to e2e-npm-registry-<os>-<arch>-, giving it a distinct namespace that is not a prefix of node-cache- in either direction and matches the repo's content-descriptive e2e cache keys (e2e-cypress-deps-, e2e-playwright-deps-, e2e-platform-pkgs-). Existing entries orphan and age out; the daily warm job repopulates under the new key on next run. * Adopt per-target .PHONY directives in server Makefiles (#37447) * Converge generated-file CI checks on a single make generated target The server-ci.yml workflow had many separate "run a make target, then fail on any git diff" jobs, but make generated only covered a few of them, so the target and CI drifted apart. Expand make generated to regenerate every committed asset, adding gen-serialized, migrations-extract, build-templates, mmctl-docs, and modules-tidy, and collapse the per-asset check jobs into a single check-generated job. Split the backport migration guard into its own check-backport-migrations job and make target, renaming the script to match. * make generated * git status --porcelain * simplify permissions block given defaults --------- Co-authored-by: Nuno Simões <nuno.simoes@mattermost.com>
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-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.xmattermost/mattermost-build-server:20201023_golang-1.14.6which is based on Go 1.14.6 you can use for MM versions >=5.25.xmattermost/mattermost-build-server:20201119_golang-1.15.5which is based on Go 1.15.5 you can use for MM versions >=5.26.xto5.37.xmattermost/mattermost-build-server:20210810_golang-1.16.7which is based on Go 1.16.X you can use for MM versions >=5.38.x