very slow pull request checkout

Vladislav Vaintroub's Avatar

Vladislav Vaintroub

16 Apr, 2025 09:44 AM

Here is an example of extremely slow pull request handling https://ci.appveyor.com/project/RasmusJohansson/server/builds/51895276.

From the log

[00:00:00] Build started
[00:00:00] git clone -q --depth=1 https://github.com/MariaDB/server.git C:\projects\server
[00:00:28] git fetch -q origin +refs/pull/3976/merge:
[00:06:41] git checkout -qf FETCH_HEAD

"git fetch" takes 6.5 minutes, roughly. That's too much

Some details:
- the repo is huge, 25 years of commit history (first in BitKeeper, then converted to Bazaar for a while, then converted to Git)
- this pull request is not done against "default" branch 'main', but against older '10.6'. Pull requests against main are much faster
- normal branch builds, against older branches are fast, as compared to PRs, clone_depth is 1

So the question is how to speedup builds of PR older branches

  1. Support Staff 1 Posted by Feodor Fitsner on 16 Apr, 2025 07:22 PM

    Feodor Fitsner's Avatar

    VM state is not preserved between builds, so entire clone will happen with every build.
    If you know there is a better git command to make it faster you can configure your own "clone_script" (maybe for specific branch only). For the start, you can try using "clone repo as a zip archive" though it won't allow you running any tools relying on git repo.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac