mattermost/.github/workflows
Jesse Hallam f4bd39d2de
Use | and \ vs. > (#24111)
GitHub actions' YAML supports the `>` directive to a multi-line command to be merged into a single line, but requires that all segments have no leading whitespace otherwise they get silently ignored.

Since this is not nearly as obvious as one might expect, fallback to just the `|` syntax using `\` to extend the lines and keep the overall formatting, fixing the reporting of retried tests via curl webhook.
2023-08-01 11:25:51 -03:00
..
api.yml Move API Reference (#23777) 2023-06-27 11:10:13 -03:00
artifacts.yml Clean up at .github due to repo rename (#23580) 2023-06-05 20:12:08 +08:00
codeql-analysis.yml MM-52712: Prevent CI cancellation in master (round 2) (#23293) 2023-05-09 23:49:06 +05:30
docker-push-mirrored.yml CLD-5835 - Do not use the mattermost-build-webapp image from ECR (#23748) 2023-06-15 08:43:39 +02:00
e2e-tests-ci.yml CLD-6003 - Upload smoketest results, better server logs (#24089) 2023-07-24 13:15:19 +02:00
esrupgrade-common.yml Clean up at .github due to repo rename (#23580) 2023-06-05 20:12:08 +08:00
esrupgrade.yml Skip ESR CI in master (#23807) 2023-06-21 10:06:12 +02:00
mmctl-test-template.yml drop public submodule replace directive (#24045) 2023-07-20 10:45:06 -03:00
README.md MM-52712: Prevent CI cancellation in master (round 2) (#23293) 2023-05-09 23:49:06 +05:30
scorecards-analysis.yml MM-52712: Prevent CI cancellation in master (round 2) (#23293) 2023-05-09 23:49:06 +05:30
server-ci-master.yml secrets: inherit, to fix flaky tests report (#23961) 2023-07-06 14:03:14 -03:00
server-ci-pr.yml fix: Add e2e-tests paths for tests trigger (#23894) 2023-07-12 10:52:05 +03:00
server-ci-template.yml drop public submodule replace directive (#24045) 2023-07-20 10:45:06 -03:00
server-test-template.yml Use | and \ vs. > (#24111) 2023-08-01 11:25:51 -03:00
webapp-ci-master.yml MM-52438 Clean up web app CI and only run when web app code is changed (#23232) 2023-05-17 13:59:34 -04:00
webapp-ci-pr.yml fix: Add e2e-tests paths for tests trigger (#23894) 2023-07-12 10:52:05 +03:00
webapp-ci-template.yml Fixes CI (#23753) 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