mattermost/.github/workflows
Agniva De Sarker f4fbc90e23
Move all PR tests to free tier (#25930)
After moving only contributor PRs to free tier it was
observed that the tests actually finish faster in free tier
than with larger runners. We have let the change soak for about
a month now without any issues.

Therefore we move to free tier runners for all PRs.
```release-note
NONE
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-01-17 09:10:38 +05:30
..
api.yml Move API Reference (#23777) 2023-06-27 11:10:13 -03:00
codeql-analysis.yml Disable certain actions from running on forks (#23747) 2023-08-08 16:45:24 -04:00
docker-push-mirrored.yml Disable certain actions from running on forks (#23747) 2023-08-08 16:45:24 -04:00
e2e-tests-ci.yml CLD-6297 - E2E tests improvements (#24541) 2023-09-25 17:01:01 +02:00
esrupgrade-common.yml Bump up the minimum required MySQL version (#25465) 2024-01-11 22:18:20 +05:30
esrupgrade.yml Disable certain actions from running on forks (#23747) 2023-08-08 16:45:24 -04:00
i18n-ci-pr.yml prevent modifying non-English translation files (#25002) 2023-10-19 14:40:06 -03:00
i18n-ci-template.yml prevent modifying non-English translation files (#25002) 2023-10-19 14:40:06 -03:00
migration.yml Bump up the minimum required MySQL version (#25465) 2024-01-11 22:18:20 +05:30
mmctl-test-template.yml Switch to docker compose v2 (#25048) 2023-11-13 14:30:24 +01:00
README.md MM-52712: Prevent CI cancellation in master (round 2) (#23293) 2023-05-09 23:49:06 +05:30
scorecards-analysis.yml fix: Update scorecard workflow (#24457) 2023-09-04 13:49:49 +03:00
sentry.yaml [CLD-6501] Enhance visibility for PR builds artefacts (#25141) 2023-10-25 18:22:15 +03:00
server-ci-artifacts.yml feat: Add docker image on artifacts generation summary (#25469) 2023-11-20 09:45:19 +02:00
server-ci-master.yml feat: Introduce go-version file to support multiple go versions on CI (#25271) 2023-11-03 16:25:54 +02:00
server-ci-pr.yml feat: Introduce go-version file to support multiple go versions on CI (#25271) 2023-11-03 16:25:54 +02:00
server-ci-template.yml Bump up the minimum required MySQL version (#25465) 2024-01-11 22:18:20 +05:30
server-test-template.yml Move all PR tests to free tier (#25930) 2024-01-17 09:10:38 +05:30
tag-public-module.yaml feat: Introduce workflow to tag server public module (#24190) 2023-08-08 10:16:54 +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