Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • G gitlabhq1
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 21
    • Issues 21
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gpt
  • large_projects
  • gitlabhq1
  • Merge requests
  • !7823

Merged
Created Sep 22, 2014 by Administrator@rootOwner

Only clone GitLab Shell on tests if necessary.

  • Overview 3
  • Commits 1
  • Changes 2

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.
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: github/fork/cirosantilli/test-fetch-shell