Skip to content

Only clone GitLab Shell on tests if necessary.

gitlab-qa-bot requested to merge github/fork/cirosantilli/test-fetch-shell into master

Created by: cirosantilli

Before this change, tmp/test got removed before every time we started running tests, and we had to clone GitLab Shell again.

Now:

  • tmp/test/gitlab-shell is not removed before tests, only the other siblings
  • it only gets cloned if the repo does not exist already
  • if the repo and the correct shell version exist, it only checks out
  • otherwise do a git fetch instead of a clone

Use case: allow to run tests without the Internet (airplane, commuting, internet problems, GitLab.com downtime, etc.)

There is only one more Internet dependency: cloning gitlab-test, but that one is harder to deal with since all branches must be synced.

Still, this change already makes testing a bit faster and walks towards that goal.

Implementation notes:

  • unless File.directory?: removed because was never used because rm_rf always removed tests, and should not be used in theory either, since if the repository is there we might want to fetch.

Merge request reports