Files
mostlymatter/.github/workflows
Jesse Hallam e04f487cb8 adopt golangci-lint v2 (#31222)
* adopt golangci-lint v2

No actual linting changes in this commit, just upgraded tooling and
directives to ignore new linter rules. Adopting v2 solves some
gosec issues in v1 and also happens to be a nice performance boost!
As part of this PR, we also drop support for `MM_NO_ENTERPRISE_LINT`
which hasn't been need for a while anyway.

* simplify: go install is fine!

* missing GOBIN

* golangci-lint: drop legacy preset exclusion
2025-05-30 15:31:30 +00:00
..
2024-12-18 08:22:53 -07: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