Skip to content

Run jest full jobs in merge request pipelines after approved

Challenge

We introduced a change to run selective jest job by default in MR pipelines at #372479 (closed), since the data for jest minimal to full pipeline transition success rate seems to indicate jest minimal job generally have the same results and feedbacks as jest job after approval.

However, some of recent master broken issues indicate that selective jest job has some test gap, which are identified when only selective specs ran in MR and full specs ran in master:

To prevent this issue in the future, the following issues have been addressed:

In addition to the above addressed issues, we should consider to start running jest full job after approval to restore master stability.

Proposal

  • Add pipeline:run-all-jest label to the MR once it has any approval. In the future, once #373904 is implemented, we can use a predefined variable instead to check if the MR has any approval as an indicator of running full Jest specs.
  • Trigger a new pipeline to run full jest + jest as-if-foss specs.
  • Use if-merge-request-approved/if-merge-request-not-approved conditions in .gitlab/ci/rules.gitlab-ci.yml to run full Jest specs in MR after approval.
Edited by Nao Hashizume