Use the repo from artifacts in frontend jobs
What does this MR do and why?
The goal is to reduce the load on Gitaly servers by cloning (ultimately) only once per pipeline.
This also reduces the duration of jobs:
- 39 seconds for the clone
Getting source from Git repository 00:39 Fetching changes with git depth set to 20... Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/ Created fresh repository. remote: Enumerating objects: 203666, done. remote: Counting objects: 100% (203666/203666), done. remote: Compressing objects: 100% (132220/132220), done. remote: Total 203666 (delta 105143), reused 136129 (delta 63474), pack-reused 0 (from 0) Receiving objects: 100% (203666/203666), 150.24 MiB | 26.86 MiB/s, done. Resolving deltas: 100% (105143/105143), done. From https://us-east1-c.ci-gateway.int.gprd.gitlab.net:8989/gitlab-org/gitlab * [new ref] refs/pipelines/1358792412 -> refs/pipelines/1358792412 Checking out e6966359 as detached HEAD (ref is refs/merge-requests/158197/merge)... Skipping Git submodules setup $ git remote set-url origin "${CI_REPOSITORY_URL}"
- 23 seconds for the artifacts download
Downloading artifacts 00:23 Downloading artifacts for clone-gitlab-repo (7254195929)... Downloading artifacts from coordinator... ok host=storage.googleapis.com id=7254195929 responseStatus=200 OK token=glcbt-66 WARNING: Part of .git directory is on the list of files to extract WARNING: This may introduce unexpected problems ## MR acceptance checklist
I also introduced a new test-frontend
stage to separate frontend tests from backend ones, and moved a few jobs to more relevant stages as well.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
Edited by Rémy Coutable