Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitaly-test-build « scripts - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: bb561e2906afa5cad81290a510d2b0f3fa36f428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env ruby
# frozen_string_literal: true

require 'fileutils'

require_relative 'gitaly_test'

# This script assumes tmp/tests/gitaly already contains the correct
# Gitaly version. We just have to compile it and run its 'bundle
# install'. We have this separate script for that to avoid bundle
# poisoning in CI. This script should only be run in CI.
class GitalyTestBuild
  include GitalyTest

  def run
    abort 'gitaly build failed' unless build_gitaly

    ensure_gitlab_shell_secret!
    check_gitaly_config!

    # Starting gitaly further validates its configuration
    gitaly_pid = start_gitaly
    gitaly2_pid = start_gitaly2
    praefect_pid = start_praefect
    Process.kill('TERM', gitaly_pid)
    Process.kill('TERM', gitaly2_pid)
    Process.kill('TERM', praefect_pid)

    # Make the 'gitaly' executable look newer than 'GITALY_SERVER_VERSION'.
    # Without this a gitaly executable created in the setup-test-env job
    # will look stale compared to GITALY_SERVER_VERSION.
    FileUtils.touch(File.join(tmp_tests_gitaly_dir, 'gitaly'), mtime: Time.now + (1 << 24))
    FileUtils.touch(File.join(tmp_tests_gitaly_dir, 'praefect'), mtime: Time.now + (1 << 24))
  end
end

GitalyTestBuild.new.run