Files
mostlymatter/.github/workflows
Mario Vitale 1e121eb7f3 CLD-6297 - E2E tests improvements (#24541)
* Improve e2etests readme, remove unused apt install
* Add testing E2E Tests MultiOS
* Get rid of deprecation warning
* Smart selection of docker network driver for different OSes
* Unify makefile invocation for windows as well
* Tune JVM for ES and Keycloak
* fix: Made required changes to run locally on arm MacOS
* fix: FIxed network command and removed dashboard node user as it is not needed
* fix: make dashboard work for Mac
* Make runs without dashboard work again, make BROWSE tunable and document it

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
2023-09-25 17:01:01 +02:00
..
2023-06-27 11:10:13 -03:00
2023-06-15 09:45:54 +02:00

Background

This document aims to explain the bunch of server and webapp yaml files and their functionality.

The context behind this complexity is that we want new pushes to PR branches to cancel older in-progress and pending CI runs, but we don't want that to happen in master branch. Unfortunately, there is no config knob to control pending workflows and if you set a concurrency group, then pending workflows will always be canceled. Refer to https://github.com/orgs/community/discussions/5435 for discussion.

Therefore, we have a template yaml file which is actually the main CI code. That is then imported by {server|webapp}-ci-master.yml and {server|webapp}-ci-pr.yml. The -master.yml files don't have any concurrency limits, but -pr.yml files do.

Folder structure

server-ci-pr | ---server-ci-template | ---server-test-template (common code for postgres and mysql tests)

server-ci-master | ---server-ci-template | ---server-test-template (common code for postgres and mysql tests)

webapp-ci-pr | ---webapp-ci-template

webapp-ci-master | ---webapp-ci-template