Skip to content

Use the repo from artifacts in frontend jobs

Rémy Coutable requested to merge use-repo-from-artifacts-in-frontend-jobs into master

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

Merge request reports