Allow Gitaly to be built from a custom URL
This commit is contained in:
parent
ae2166188d
commit
3ee9bca503
2 changed files with 25 additions and 1 deletions
|
@ -130,6 +130,25 @@ Gitaly. To use a custom Gitaly version in CI you need to update
|
||||||
GITALY_SERVER_VERSION. You can use the format `=revision` to use a
|
GITALY_SERVER_VERSION. You can use the format `=revision` to use a
|
||||||
non-tagged commit from https://gitlab.com/gitlab-org/gitaly in CI.
|
non-tagged commit from https://gitlab.com/gitlab-org/gitaly in CI.
|
||||||
|
|
||||||
|
To use a different Gitaly repository, e.g., if your changes are present
|
||||||
|
on a fork, you can specify a `GITALY_REPO_URL` environment variable when
|
||||||
|
running tests:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
GITALY_REPO_URL=https://gitlab.com/nick.thomas/gitaly bundle exec rspec spec/lib/gitlab/git/repository_spec.rb
|
||||||
|
```
|
||||||
|
|
||||||
|
If your fork of Gitaly is private, you can generate a [Deploy Token](../user/project/deploy_tokens/index.md)
|
||||||
|
and specify it in the URL:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
GITALY_REPO_URL=https://gitlab+deploy-token-1000:token-here@gitlab.com/nick.thomas/gitaly bundle exec rspec spec/lib/gitlab/git/repository_spec.rb
|
||||||
|
```
|
||||||
|
|
||||||
|
To use a custom Gitaly repository in CI, for instance if you want your
|
||||||
|
GitLab fork to always use your own Gitaly fork, set `GITALY_REPO_URL`
|
||||||
|
as a [CI environment variable](../ci/variables/README.md#variables).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[Return to Development documentation](README.md)
|
[Return to Development documentation](README.md)
|
||||||
|
|
|
@ -160,11 +160,12 @@ module TestEnv
|
||||||
def setup_gitaly
|
def setup_gitaly
|
||||||
socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '')
|
socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '')
|
||||||
gitaly_dir = File.dirname(socket_path)
|
gitaly_dir = File.dirname(socket_path)
|
||||||
|
install_gitaly_args = [gitaly_dir, repos_path, gitaly_url].compact.join(',')
|
||||||
|
|
||||||
component_timed_setup('Gitaly',
|
component_timed_setup('Gitaly',
|
||||||
install_dir: gitaly_dir,
|
install_dir: gitaly_dir,
|
||||||
version: Gitlab::GitalyClient.expected_server_version,
|
version: Gitlab::GitalyClient.expected_server_version,
|
||||||
task: "gitlab:gitaly:install[#{gitaly_dir},#{repos_path}]") do
|
task: "gitlab:gitaly:install[#{install_gitaly_args}]") do
|
||||||
|
|
||||||
Gitlab::SetupHelper.create_gitaly_configuration(gitaly_dir, { 'default' => repos_path }, force: true)
|
Gitlab::SetupHelper.create_gitaly_configuration(gitaly_dir, { 'default' => repos_path }, force: true)
|
||||||
start_gitaly(gitaly_dir)
|
start_gitaly(gitaly_dir)
|
||||||
|
@ -215,6 +216,10 @@ module TestEnv
|
||||||
# The process can already be gone if the test run was INTerrupted.
|
# The process can already be gone if the test run was INTerrupted.
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def gitaly_url
|
||||||
|
ENV.fetch('GITALY_REPO_URL', nil)
|
||||||
|
end
|
||||||
|
|
||||||
def setup_factory_repo
|
def setup_factory_repo
|
||||||
setup_repo(factory_repo_path, factory_repo_path_bare, factory_repo_name,
|
setup_repo(factory_repo_path, factory_repo_path_bare, factory_repo_name,
|
||||||
BRANCH_SHA)
|
BRANCH_SHA)
|
||||||
|
|
Loading…
Reference in a new issue