Skip to content

Consider running jest full jobs by default when a frontend dependency is updated

Summary

We had a broken master, because jest full specs didn't run on !101292 (merged) which upgraded a frontend dependency. And, jest selective specs didn't catch the issue with spec/frontend/cycle_analytics/stage_table_spec.js since this spec wasn't identified as a related file by jest.

We should consider running jest full specs by default in merge request pipelines when the frontend dependency is updated.

Quoting the feedback from @pgascouvaillancourt in #378916 (comment 1148431794):

spec/frontend/cycle_analytics/stage_table_spec.js is also breaking master at the moment as it expects the GlPagination not to render under certain conditions. However, due to a recent change in GitLab UI, GlPagination now always renders at least one element: gitlab-ui!3100 (merged). Again, it's surprising that this was not caught in the upgrade MR. Should we consider running all Jest specs whenever the package.json changes? It would likely have prevented those failures.

Proposal

Running jest full specs by default in merge request pipelines if a frontend dependency is updated.