Merge Train did not run CI jobs specified with `only: merge_requests..`
IMPORTANT NOTE: Merge trains should not be re-enabled until either:
- This issue is resolved, or
- gitlab-com/www-gitlab-com!37888 (merged) and gitlab-com/www-gitlab-com!38105 (merged) are reverted.
Otherwise broken master will result.
EXPECTED
All MRs for the gitlab-com/www-gitlab-com
project must run and pass all CI jobs in which the only
parameter includes merge_requests
before being allowed to merge by the Merge Train.
This is expected because the "Only allow merge requests to be merged if the pipeline succeeds" is turned on for this repo:
ACTUAL
-
The commit in MR gitlab-com/www-gitlab-com!38030 (commits) contained breaking changes which should have failed the
root_files_checker
job, which was specified to run formerge_requests
. (The failure should have been because it added a root-level file (operations/README.md
) without adding it to theFILES
manifest.) -
Yet, it was still merged into master by the merge train with passing builds.
-
This is because the merge train pipeline did not run the
root_files_checker
job. -
This resulted in breakages of subsequent MRs branched off of master, but only if they also modified a file in the root directory (because the job only runs when there are changes in the root directory).
WHAT PROBLEMS THIS IS CAUSING
This is problematic to the work that Marketing and the Static Site Editor Team are doing to improve the speed of the gitlab-com/www-gitlab-com
pipelines, because we are disabling jobs on master which should have already run as part of a merge request (gitlab-com/www-gitlab-com#6161 (closed), gitlab-com/www-gitlab-com#6190 (closed)).
In order for this approach to work, we need to be able to trust that every commit merged to master has successfully run all the jobs which are flagged only: merge_requests
cc @gl-website