Skip to content

Fetch repo from artifacts for RSpec jobs

Lin Jen-Shin requested to merge repo-in-artifacts into master

What does this MR do and why?

Fetch repo from artifacts for RSpec jobs. This means we no longer clone the repo for RSpec jobs. The intention for this is to reduce Gitaly load to avoid overloading Gitaly. See: https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/336#note_1684949431

The artifacts are about 280M based on https://gitlab.com/gitlab-org/gitlab/-/jobs/5794861082/artifacts/browse

Note for merging

Please don't squash this merge request so we have a commit we can easily revert to enable/disable this behaviour with minimal changes: !140330 (dbc60bbc)

Time difference:

Saved 15s (45% improvement)

Critical paths:

  • clone-gitlab-repo took 57s: https://gitlab.com/gitlab-org/gitlab/-/jobs/5794861082
  • setup-test-env does not need clone-gitlab-repo and still clones because we want to run it as soon as possible, instead of waiting for clone-gitlab-repo. It's only one job anyway. All RSpec jobs already need to wait for setup-test-env which runs slower than clone-gitlab-repo, meaning that there is no extra waiting.

Conclusion: Critical paths should remain the same.

Validation

Edited by Lin Jen-Shin

Merge request reports