gitlab: 12.1.6 -> 12.3.4

- Update GitLab to 12.3.4

- Update update.py to cope with the new upstream repository structure

- Refactor gitlab-shell to use buildGoPackage and bundlerEnv for
  dependencies

- Refactor gitlab-workhorse to use buildGoPackage for dependencies

- Make update.py able to update gitlab-shell and gitlab-workhorse
  dependencies

- Various fixes necessary for update to work
wip/yesman
talyz 5 years ago
parent e5b783bd22
commit f3eb063ecf
  1. 40
      pkgs/applications/version-management/gitlab/data.json
  2. 2
      pkgs/applications/version-management/gitlab/default.nix
  3. 5
      pkgs/applications/version-management/gitlab/gitaly/Gemfile
  4. 37
      pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
  5. 6
      pkgs/applications/version-management/gitlab/gitaly/default.nix
  6. 48
      pkgs/applications/version-management/gitlab/gitaly/deps.nix
  7. 65
      pkgs/applications/version-management/gitlab/gitaly/gemset.nix
  8. 12
      pkgs/applications/version-management/gitlab/gitlab-shell/Gemfile
  9. 109
      pkgs/applications/version-management/gitlab/gitlab-shell/Gemfile.lock
  10. 69
      pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
  11. 507
      pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
  12. 451
      pkgs/applications/version-management/gitlab/gitlab-shell/gemset.nix
  13. 14
      pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
  14. 22
      pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
  15. 885
      pkgs/applications/version-management/gitlab/gitlab-workhorse/deps.nix
  16. 84
      pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
  17. 232
      pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
  18. 686
      pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
  19. 63
      pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
  20. 185
      pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
  21. 500
      pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
  22. 47
      pkgs/applications/version-management/gitlab/update.py

@ -1,32 +1,32 @@
{
"ce": {
"version": "12.1.6",
"repo_hash": "0zyqxzyb1m8qa94iiyqf5ivqxrg60y378r94fsixy17fbh4y7sa6",
"deb_hash": "14bwcmwar44pjnjr6fdn2h9y92vyfva0kb76d4pz8pqc9pfm2hmg",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.1.6-ce.0_amd64.deb/download.deb",
"version": "12.3.4",
"repo_hash": "02nfgwvm8z8cn64qlkvjmj9mvxqy9aszzdsmfr0kjjq0zzg7l7hk",
"deb_hash": "09iwrqdx897i35hb0dvw13s0747wqcqk67h855a9abm5phbkv4bb",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.3.4-ce.0_amd64.deb/download.deb",
"owner": "gitlab-org",
"repo": "gitlab-ce",
"rev": "v12.1.6",
"repo": "gitlab-foss",
"rev": "v12.3.4",
"passthru": {
"GITALY_SERVER_VERSION": "1.53.2",
"GITLAB_PAGES_VERSION": "1.7.1",
"GITLAB_SHELL_VERSION": "9.3.0",
"GITLAB_WORKHORSE_VERSION": "8.7.0"
"GITALY_SERVER_VERSION": "1.65.1",
"GITLAB_PAGES_VERSION": "1.9.0",
"GITLAB_SHELL_VERSION": "10.0.0",
"GITLAB_WORKHORSE_VERSION": "8.10.0"
}
},
"ee": {
"version": "12.1.6",
"repo_hash": "1lxci1hwcccgw567c5733yl95xsxr4gnw41m48igdw9y8p6g7zbc",
"deb_hash": "0yjilhf4bjhl1a596x6n4cvjklfbrwhymslhx977nfjazfb5slx3",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.1.6-ee.0_amd64.deb/download.deb",
"version": "12.3.4",
"repo_hash": "152gg7h0zwzih93ajn3ki5ij8c1fbanlgwl40i44nnsk79m8jbia",
"deb_hash": "1kyw3r0l5h79sfckfqwwfd7g2zxslywksbv58yhar6nwcidrjags",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.3.4-ee.0_amd64.deb/download.deb",
"owner": "gitlab-org",
"repo": "gitlab-ee",
"rev": "v12.1.6-ee",
"repo": "gitlab",
"rev": "v12.3.4-ee",
"passthru": {
"GITALY_SERVER_VERSION": "1.53.2",
"GITLAB_PAGES_VERSION": "1.7.1",
"GITLAB_SHELL_VERSION": "9.3.0",
"GITLAB_WORKHORSE_VERSION": "8.7.0"
"GITALY_SERVER_VERSION": "1.65.1",
"GITLAB_PAGES_VERSION": "1.9.0",
"GITLAB_SHELL_VERSION": "10.0.0",
"GITLAB_WORKHORSE_VERSION": "8.10.0"
}
}
}

@ -19,7 +19,7 @@ let
};
};
groups = [
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test"
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
];
# N.B. omniauth_oauth2_generic and apollo_upload_server both provide a
# `console` executable.

@ -6,8 +6,7 @@ gem 'bundler', '>= 1.17.3'
gem 'rugged', '~> 0.28'
gem 'github-linguist', '~> 6.1', require: 'linguist'
gem 'gitlab-markup', '~> 1.7.0'
gem 'activesupport', '~> 5.1.7'
gem 'gitaly-proto', '~> 1.36.0'
gem 'activesupport', '~> 5.2.3'
gem 'rdoc', '~> 4.2'
gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
@ -17,7 +16,7 @@ gem 'faraday', '~> 0.12'
gem 'rbtrace', require: false
# Labkit provides observability functionality
gem 'gitlab-labkit', '~> 0.3.0'
gem 'gitlab-labkit', '~> 0.5.0'
# Detects the open source license the repository includes
# This version needs to be in sync with GitLab CE/EE

@ -2,20 +2,20 @@ GEM
remote: https://rubygems.org/
specs:
abstract_type (0.0.7)
actionpack (5.1.7)
actionview (= 5.1.7)
activesupport (= 5.1.7)
actionpack (5.2.3)
actionview (= 5.2.3)
activesupport (= 5.2.3)
rack (~> 2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.1.7)
activesupport (= 5.1.7)
actionview (5.2.3)
activesupport (= 5.2.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activesupport (5.1.7)
activesupport (5.2.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
@ -46,11 +46,9 @@ GEM
activesupport (>= 4.2.0)
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
ffi (1.10.0)
ffi (1.11.1)
gemojione (3.3.0)
json
gitaly-proto (1.36.0)
grpc (~> 1.0)
github-linguist (6.4.1)
charlock_holmes (~> 0.7.6)
escape_utils (~> 1.2.0)
@ -73,12 +71,13 @@ GEM
diff-lcs (~> 1.1)
mime-types (>= 1.16)
posix-spawn (~> 0.3)
gitlab-labkit (0.3.0)
gitlab-labkit (0.5.2)
actionpack (~> 5)
activesupport (~> 5)
grpc (~> 1.19.0)
grpc (~> 1.19)
jaeger-client (~> 0.10)
opentracing (~> 0.4)
redis (> 3.0.0, < 5.0.0)
gitlab-markup (1.7.0)
gollum-grit_adapter (1.0.1)
gitlab-grit (~> 2.7, >= 2.7.1)
@ -111,10 +110,10 @@ GEM
mime-types-data (3.2019.0331)
mini_portile2 (2.4.0)
minitest (5.11.3)
msgpack (1.2.10)
msgpack (1.3.0)
multi_json (1.13.1)
multipart-post (2.0.0)
nokogiri (1.10.3)
nokogiri (1.10.4)
mini_portile2 (~> 2.4.0)
nokogumbo (1.5.0)
nokogiri
@ -139,7 +138,7 @@ GEM
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.4)
rails-html-sanitizer (1.2.0)
loofah (~> 2.2, >= 2.2.2)
rainbow (3.0.0)
rbtrace (0.4.11)
@ -147,7 +146,8 @@ GEM
msgpack (>= 0.4.3)
optimist (>= 3.0.0)
rdoc (4.3.0)
rouge (3.5.1)
redis (4.1.2)
rouge (3.11.0)
rspec (3.8.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
@ -175,7 +175,7 @@ GEM
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
ruby-progressbar (1.10.0)
rugged (0.28.1)
rugged (0.28.3.1)
safe_yaml (1.0.5)
sanitize (4.6.6)
crass (~> 1.0.2)
@ -213,15 +213,14 @@ PLATFORMS
ruby
DEPENDENCIES
activesupport (~> 5.1.7)
activesupport (~> 5.2.3)
bundler (>= 1.17.3)
factory_bot
faraday (~> 0.12)
gitaly-proto (~> 1.36.0)
github-linguist (~> 6.1)
gitlab-gollum-lib (~> 4.2.7.7)
gitlab-gollum-rugged_adapter (~> 0.4.4.2)
gitlab-labkit (~> 0.3.0)
gitlab-labkit (~> 0.5.0)
gitlab-markup (~> 1.7.0)
google-protobuf (~> 3.7.1)
grpc (~> 1.19.0)

@ -17,14 +17,14 @@ let
};
};
in buildGoPackage rec {
version = "1.53.2";
version = "1.65.1";
pname = "gitaly";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "0x4dhqaxx6n5jlcvf69rglxiz11037ghgcnskks6qnlcbkd85j3d";
sha256 = "1a39i723na2xk4363a7v48ba23vi04qpg0119dw09g13m0k5hjc3";
};
goPackagePath = "gitlab.com/gitlab-org/gitaly";
@ -40,7 +40,7 @@ in buildGoPackage rec {
postInstall = ''
mkdir -p $ruby
cp -rv $src/ruby/{bin,lib,git-hooks,gitlab-shell} $ruby
cp -rv $src/ruby/{bin,lib,proto,git-hooks,gitlab-shell} $ruby
# gitlab-shell will try to read its config relative to the source
# code by default which doesn't work in nixos because it's a

@ -270,6 +270,33 @@
sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
};
}
{
goPackagePath = "github.com/kr/pretty";
fetch = {
type = "git";
url = "https://github.com/kr/pretty";
rev = "v0.1.0";
sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
};
}
{
goPackagePath = "github.com/kr/pty";
fetch = {
type = "git";
url = "https://github.com/kr/pty";
rev = "v1.1.1";
sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
};
}
{
goPackagePath = "github.com/kr/text";
fetch = {
type = "git";
url = "https://github.com/kr/text";
rev = "v0.1.0";
sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
};
}
{
goPackagePath = "github.com/libgit2/git2go";
fetch = {
@ -477,15 +504,6 @@
sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/gitaly-proto";
fetch = {
type = "git";
url = "https://gitlab.com/gitlab-org/gitaly-proto.git";
rev = "v1.36.0";
sha256 = "0xma8ys3lf1bdhlkmcis31xs1h1dshcr5796wwfwnzijwk6422m3";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/labkit";
fetch = {
@ -509,8 +527,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "c2843e01d9a2";
sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
rev = "20be4c3c3ed5";
sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
};
}
{
@ -554,8 +572,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "d0b11bdaac8a";
sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
rev = "953cdadca894";
sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
};
}
{
@ -626,8 +644,8 @@
fetch = {
type = "git";
url = "https://gopkg.in/check.v1";
rev = "20d25e280405";
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
rev = "788fd7840127";
sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
};
}
{

@ -13,10 +13,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52";
sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
type = "gem";
};
version = "5.1.7";
version = "5.2.3";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -24,10 +24,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747";
sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
type = "gem";
};
version = "5.1.7";
version = "5.2.3";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@ -35,10 +35,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91";
sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
type = "gem";
};
version = "5.1.7";
version = "5.2.3";
};
adamantium = {
dependencies = ["ice_nine" "memoizable"];
@ -205,12 +205,14 @@
version = "0.15.4";
};
ffi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
type = "gem";
};
version = "1.10.0";
version = "1.11.1";
};
gemojione = {
dependencies = ["json"];
@ -221,17 +223,6 @@
};
version = "3.3.0";
};
gitaly-proto = {
dependencies = ["grpc"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11bkrf2z5ppp55cipawdpinrva42x12grp2gl1dp1jdb35crqick";
type = "gem";
};
version = "1.36.0";
};
github-linguist = {
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
groups = ["default"];
@ -283,15 +274,15 @@
version = "2.8.2";
};
gitlab-labkit = {
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
type = "gem";
};
version = "0.3.0";
version = "0.5.2";
};
gitlab-markup = {
groups = ["default"];
@ -489,10 +480,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
sha256 = "1186lhwnxiw5ryv6dbxrsfy0fajfll2l95kf9pmca50iyiqi86zn";
type = "gem";
};
version = "1.2.10";
version = "1.3.0";
};
multi_json = {
source = {
@ -516,10 +507,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
type = "gem";
};
version = "1.10.3";
version = "1.10.4";
};
nokogumbo = {
dependencies = ["nokogiri"];
@ -649,10 +640,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
type = "gem";
};
version = "1.0.4";
version = "1.2.0";
};
rainbow = {
source = {
@ -679,15 +670,25 @@
};
version = "4.3.0";
};
redis = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
type = "gem";
};
version = "4.1.2";
};
rouge = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
type = "gem";
};
version = "3.5.1";
version = "3.11.0";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@ -778,10 +779,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
sha256 = "03w3k7j27kgzpcc3halkd3w0b677sny2lfwm2lwn2n1ac20dzjc6";
type = "gem";
};
version = "0.28.1";
version = "0.28.3.1";
};
safe_yaml = {
groups = ["default" "development" "test"];

@ -0,0 +1,12 @@
source 'https://rubygems.org'
group :development, :test do
gem 'listen', '~> 0.5.0'
gem 'pry', '~> 0.12.2'
gem 'rspec', '~> 3.8.0'
gem 'rspec-parameterized', '~> 0.4.0'
gem 'rubocop', '0.49.1', require: false
gem 'simplecov', '~> 0.9.0', require: false
gem 'vcr', '~> 4.0.0'
gem 'webmock', '~> 3.4.0'
end

@ -0,0 +1,109 @@
GEM
remote: https://rubygems.org/
specs:
abstract_type (0.0.7)
adamantium (0.2.0)
ice_nine (~> 0.11.0)
memoizable (~> 0.4.0)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
ast (2.4.0)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
coderay (1.1.2)
concord (0.1.5)
adamantium (~> 0.2.0)
equalizer (~> 0.0.9)
crack (0.4.3)
safe_yaml (~> 1.0.0)
debug_inspector (0.0.3)
diff-lcs (1.3)
docile (1.1.5)
equalizer (0.0.11)
hashdiff (0.3.7)
ice_nine (0.11.2)
listen (0.5.3)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
method_source (0.9.2)
multi_json (1.13.1)
parallel (1.12.1)
parser (2.5.1.2)
ast (~> 2.4.0)
powerpack (0.1.2)
proc_to_ast (0.1.0)
coderay
parser
unparser
procto (0.0.3)
pry (0.12.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
public_suffix (3.0.3)
rainbow (2.2.2)
rake
rake (12.3.3)
rspec (3.8.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-core (3.8.0)
rspec-support (~> 3.8.0)
rspec-expectations (3.8.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-parameterized (0.4.0)
binding_of_caller
parser
proc_to_ast
rspec (>= 2.13, < 4)
unparser
rspec-support (3.8.0)
rubocop (0.49.1)
parallel (~> 1.10)
parser (>= 2.3.3.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-progressbar (1.9.0)
safe_yaml (1.0.4)
simplecov (0.9.2)
docile (~> 1.1.0)
multi_json (~> 1.0)
simplecov-html (~> 0.9.0)
simplecov-html (0.9.0)
thread_safe (0.3.6)
unicode-display_width (1.4.0)
unparser (0.2.8)
abstract_type (~> 0.0.7)
adamantium (~> 0.2.0)
concord (~> 0.1.5)
diff-lcs (~> 1.3)
equalizer (~> 0.0.9)
parser (>= 2.3.1.2, < 2.6)
procto (~> 0.0.2)
vcr (4.0.0)
webmock (3.4.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
PLATFORMS
ruby
DEPENDENCIES
listen (~> 0.5.0)
pry (~> 0.12.2)
rspec (~> 3.8.0)
rspec-parameterized (~> 0.4.0)
rubocop (= 0.49.1)
simplecov (~> 0.9.0)
vcr (~> 4.0.0)
webmock (~> 3.4.0)
BUNDLED WITH
1.16.3

@ -1,40 +1,65 @@
{ stdenv, ruby, bundler, fetchFromGitLab, go }:
stdenv.mkDerivation rec {
version = "9.3.0";
pname = "gitlab-shell";
{ stdenv, ruby, bundler, fetchFromGitLab, buildGoPackage, bundlerEnv }:
let
version = "10.0.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-shell";
rev = "v${version}";
sha256 = "1r000h4sgplx7giqvqs5iy0zh3drf6qa1iiq0mxlk3h9fshs1348";
sha256 = "0n1llkb0jrqxm10l9wqmqxjycydqphgz0chbbf395d8pywyz826x";
};
rubyEnv = bundlerEnv {
name = "gitlab-shell-env";
inherit ruby;
gemdir = ./.;
};
goPackage = buildGoPackage {
pname = "gitlab-shell-go";
inherit src version;
buildInputs = [ ruby bundler go ];
patches = [ ./remove-hardcoded-locations.patch ];
patches = [ ./remove-hardcoded-locations.patch ];
installPhase = ''
export GOCACHE="$TMPDIR/go-cache"
goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
goDeps = ./deps.nix;
ruby bin/compile
mkdir -p $out/
cp -R . $out/
# Nothing to install ATM for non-development but keeping the
# install command anyway in case that changes in the future:
export HOME=$(pwd)
bundle install -j4 --verbose --local --deployment --without development test
'';
# gitlab-shell depends on an older version of gitaly which
# contains old, vendored versions of some packages; gitlab-shell
# also explicitly depends on newer versions of these libraries,
# but buildGoPackage exposes the vendored versions instead,
# leading to compilation errors. Since the vendored libraries
# aren't used here anyway, we'll just remove them.
postConfigure = ''
rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/gitaly/vendor/"
'';
};
in
stdenv.mkDerivation {
pname = "gitlab-shell";
inherit src version;
patches = [ ./remove-hardcoded-locations.patch ];
# gitlab-shell will try to read its config relative to the source
# code by default which doesn't work in nixos because it's a
# read-only filesystem
postPatch = ''
substituteInPlace lib/gitlab_config.rb --replace \
"File.join(ROOT_PATH, 'config.yml')" \
"'/run/gitlab/shell-config.yml'"
"File.join(ROOT_PATH, 'config.yml')" \
"'/run/gitlab/shell-config.yml'"
'';
buildInputs = [ rubyEnv.wrappedRuby ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -R . $out/
cp ${goPackage.bin}/bin/* $out/bin/
runHook postInstall
'';
meta = with stdenv.lib; {

@ -0,0 +1,507 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "bou.ke/monkey";
fetch = {
type = "git";
url = "https://github.com/bouk/monkey";
rev = "v1.0.1";
sha256 = "050y07pwx5zk7fchp0lhf35w417sml7lxkkzly8f932fy25rydz5";
};
}
{
goPackagePath = "cloud.google.com/go";
fetch = {
type = "git";
url = "https://code.googlesource.com/gocloud";
rev = "v0.26.0";
sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
};
}
{
goPackagePath = "github.com/certifi/gocertifi";
fetch = {
type = "git";
url = "https://github.com/certifi/gocertifi";
rev = "ee1a9a0726d2";
sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4";
};
}
{
goPackagePath = "github.com/client9/misspell";
fetch = {
type = "git";
url = "https://github.com/client9/misspell";
rev = "v0.3.4";
sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
};
}
{
goPackagePath = "github.com/codahale/hdrhistogram";
fetch = {
type = "git";
url = "https://github.com/codahale/hdrhistogram";
rev = "3a0bb77429bd";
sha256 = "1zampgfjbxy192cbwdi7g86l1idxaam96d834wncnpfdwgh5kl57";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/fsnotify/fsnotify";
fetch = {
type = "git";
url = "https://github.com/fsnotify/fsnotify";
rev = "v1.4.7";
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
};
}
{
goPackagePath = "github.com/getsentry/raven-go";
fetch = {
type = "git";
url = "https://github.com/getsentry/raven-go";
rev = "v0.1.0";
sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
};
}
{
goPackagePath = "github.com/gogo/protobuf";
fetch = {
type = "git";
url = "https://github.com/gogo/protobuf";
rev = "v1.1.1";
sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
};
}
{
goPackagePath = "github.com/golang/glog";
fetch = {
type = "git";
url = "https://github.com/golang/glog";
rev = "23def4e6c14b";
sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
};
}
{
goPackagePath = "github.com/golang/lint";
fetch = {
type = "git";
url = "https://github.com/golang/lint";
rev = "06c8688daad7";
sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
};
}
{
goPackagePath = "github.com/golang/mock";
fetch = {
type = "git";
url = "https://github.com/golang/mock";
rev = "v1.1.1";
sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "v1.2.0";
sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
};
}
{
goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
fetch = {
type = "git";
url = "https://github.com/grpc-ecosystem/go-grpc-middleware";
rev = "v1.0.0";
sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp";
};
}
{
goPackagePath = "github.com/hpcloud/tail";
fetch = {
type = "git";
url = "https://github.com/hpcloud/tail";
rev = "v1.0.0";
sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
};
}
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "v1.0.0";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "github.com/lightstep/lightstep-tracer-go";
fetch = {
type = "git";
url = "https://github.com/lightstep/lightstep-tracer-go";
rev = "v0.15.6";
sha256 = "10n5r66g44s6rnz5kf86s4a3p1g55kc1kxqhnk7bx7mlayndgpmb";
};
}
{
goPackagePath = "github.com/mattn/go-shellwords";
fetch = {
type = "git";
url = "https://github.com/mattn/go-shellwords";
rev = "2444a32a19f4";
sha256 = "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d";
};
}
{
goPackagePath = "github.com/onsi/ginkgo";
fetch = {
type = "git";
url = "https://github.com/onsi/ginkgo";
rev = "v1.7.0";
sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
};
}
{
goPackagePath = "github.com/onsi/gomega";
fetch = {
type = "git";
url = "https://github.com/onsi/gomega";
rev = "v1.4.3";
sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
};
}
{
goPackagePath = "github.com/opentracing/opentracing-go";
fetch = {
type = "git";
url = "https://github.com/opentracing/opentracing-go";
rev = "v1.0.2";
sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
};
}
{
goPackagePath = "github.com/otiai10/copy";
fetch = {
type = "git";
url = "https://github.com/otiai10/copy";
rev = "v1.0.1";
sha256 = "0xmy0kfcx48q10s040579pcjswfaxlwhv7a2z07z9r92fdrgw03k";
};
}
{
goPackagePath = "github.com/otiai10/curr";
fetch = {
type = "git";
url = "https://github.com/otiai10/curr";
rev = "f5a3d24e5776";
sha256 = "01k33ifs9n0pnhwhbfb9ws3q5sa37fi7dhir5vjakpfzdin07y4w";
};
}
{
goPackagePath = "github.com/otiai10/mint";
fetch = {
type = "git";
url = "https://github.com/otiai10/mint";
rev = "v1.2.4";
sha256 = "1mf7b8h3akxbpj1rf3nk0ccqk5idd6z2gh9gm31phr7ll4gykn2m";
};
}
{
goPackagePath = "github.com/philhofer/fwd";
fetch = {
type = "git";
url = "https://github.com/philhofer/fwd";
rev = "v1.0.0";
sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "v0.8.0";
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "v1.0.0";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "v1.0.5";
sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.2.2";
sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
};
}
{
goPackagePath = "github.com/tinylib/msgp";
fetch = {
type = "git";
url = "https://github.com/tinylib/msgp";
rev = "v1.0.2";
sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
};
}
{
goPackagePath = "github.com/uber-go/atomic";
fetch = {
type = "git";
url = "https://github.com/uber-go/atomic";
rev = "v1.3.2";
sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
};
}
{
goPackagePath = "github.com/uber/jaeger-client-go";
fetch = {
type = "git";
url = "https://github.com/uber/jaeger-client-go";
rev = "v2.15.0";
sha256 = "0ki23m9zrf3vxp839fnp9ckr4m28y6mpad8g5s5lr5k8jkl0sfwj";
};
}
{
goPackagePath = "github.com/uber/jaeger-lib";
fetch = {
type = "git";
url = "https://github.com/uber/jaeger-lib";
rev = "v1.5.0";
sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/gitaly";
fetch = {
type = "git";
url = "https://gitlab.com/gitlab-org/gitaly.git";
rev = "v1.7.0";
sha256 = "1hhiyw1ag22mgn6chp8lf29y2fgj90xyb7wjd6s30hayqja7knh1";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/gitaly-proto";
fetch = {
type = "git";
url = "https://gitlab.com/gitlab-org/gitaly-proto.git";
rev = "v1.12.0";
sha256 = "02aqw1q8n84v4f3rc0x7hsg0gkmbqkznp9cl6vrhjvsisv38v695";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/labkit";
fetch = {
type = "git";
url = "https://gitlab.com/gitlab-org/labkit.git";
rev = "0c3fc7cdd57c";
sha256 = "0fpn37v7dhhdgd63v4mq9cna9wdzrsfams13qmjmps3xpdw2wr9i";
};
}
{
goPackagePath = "go.uber.org/atomic";
fetch = {
type = "git";
url = "https://github.com/uber-go/atomic";
rev = "v1.3.2";
sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "182114d58262";
sha256 = "0dhagsjpk3wn2f7w148v0h9i651jpk4c0mlsy5sihcnmqz8s764l";
};
}
{
goPackagePath = "golang.org/x/lint";
fetch = {
type = "git";
url = "https://go.googlesource.com/lint";
rev = "06c8688daad7";
sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "10aee1819953";
sha256 = "1rd6y0fr2gqhx3bsy0ahnacqzbxijkx8wyfmamrb3wbzc01091rl";
};
}
{
goPackagePath = "golang.org/x/oauth2";
fetch = {
type = "git";
url = "https://go.googlesource.com/oauth2";
rev = "d2e6202438be";
sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://go.googlesource.com/sync";
rev = "1d60e4601c6f";
sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "70b957f3b65e";
sha256 = "146jwkr39asigqbsnsigxpkpb4vydld4k9q34xvvw0bp10qzjxxw";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "v0.3.0";
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "6cd1fcedba52";
sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
};
}
{
goPackagePath = "google.golang.org/appengine";
fetch = {
type = "git";
url = "https://github.com/golang/appengine";
rev = "v1.1.0";
sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
};
}
{
goPackagePath = "google.golang.org/genproto";
fetch = {
type = "git";
url = "https://github.com/google/go-genproto";
rev = "bd91e49a0898";
sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8";
};
}
{
goPackagePath = "google.golang.org/grpc";
fetch = {
type = "git";
url = "https://github.com/grpc/grpc-go";
rev = "v1.16.0";
sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
};
}
{
goPackagePath = "gopkg.in/DataDog/dd-trace-go.v1";
fetch = {
type = "git";
url = "https://gopkg.in/DataDog/dd-trace-go.v1";
rev = "v1.9.0";
sha256 = "1zfbsmm8fbcwhd6j28q3ijyswn1d3dyhydx3ckqpkkp6qiam3c2j";
};
}
{
goPackagePath = "gopkg.in/airbrake/gobrake.v2";
fetch = {
type = "git";
url = "https://gopkg.in/airbrake/gobrake.v2";
rev = "v2.0.9";
sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw";
};
}
{
goPackagePath = "gopkg.in/check.v1";
fetch = {
type = "git";
url = "https://gopkg.in/check.v1";
rev = "20d25e280405";
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
};
}
{
goPackagePath = "gopkg.in/fsnotify.v1";
fetch = {
type = "git";
url = "https://gopkg.in/fsnotify.v1";
rev = "v1.4.7";
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
};
}
{
goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2";
fetch = {
type = "git";
url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2";
rev = "v2.1.2";
sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5";
};
}
{
goPackagePath = "gopkg.in/tomb.v1";
fetch = {
type = "git";
url = "https://gopkg.in/tomb.v1";
rev = "dd632973f1e7";
sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "v2.2.1";
sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
};
}
{
goPackagePath = "honnef.co/go/tools";
fetch = {
type = "git";
url = "https://github.com/dominikh/go-tools";
rev = "88497007e858";
sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
};
}
]

@ -0,0 +1,451 @@
{
abstract_type = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14";
type = "gem";
};
version = "0.0.7";
};
adamantium = {
dependencies = ["ice_nine" "memoizable"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak";
type = "gem";
};
version = "0.2.0";
};
addressable = {
dependencies = ["public_suffix"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
type = "gem";
};
version = "2.5.2";
};
ast = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
type = "gem";
};
version = "2.4.0";
};
binding_of_caller = {
dependencies = ["debug_inspector"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
type = "gem";
};
version = "0.8.0";
};
coderay = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
type = "gem";
};
version = "1.1.2";
};
concord = {
dependencies = ["adamantium" "equalizer"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg";
type = "gem";
};
version = "0.1.5";
};
crack = {
dependencies = ["safe_yaml"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
type = "gem";
};
version = "0.4.3";
};
debug_inspector = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
type = "gem";
};
version = "0.0.3";
};
diff-lcs = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
type = "gem";
};
version = "1.3";
};
docile = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
type = "gem";
};
version = "1.1.5";
};
equalizer = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
type = "gem";
};
version = "0.0.11";
};
hashdiff = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9";
type = "gem";
};
version = "0.3.7";
};
ice_nine = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
type = "gem";
};
version = "0.11.2";
};
listen = {
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0inlw7vix61170vjr87h9izhjm5dbby8rbfrf1iryiv7b3kyvkxl";
type = "gem";
};
version = "0.5.3";
};
memoizable = {
dependencies = ["thread_safe"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
type = "gem";
};
version = "0.4.2";
};
method_source = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
type = "gem";
};
version = "0.9.2";
};
multi_json = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
type = "gem";
};
version = "1.13.1";
};
parallel = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
type = "gem";
};
version = "1.12.1";
};
parser = {
dependencies = ["ast"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
type = "gem";
};
version = "2.5.1.2";
};
powerpack = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv";
type = "gem";
};
version = "0.1.2";
};
proc_to_ast = {
dependencies = ["coderay" "parser" "unparser"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj";
type = "gem";
};
version = "0.1.0";
};
procto = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c";
type = "gem";
};
version = "0.0.3";
};
pry = {
dependencies = ["coderay" "method_source"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69";
type = "gem";
};
version = "0.12.2";
};
public_suffix = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
type = "gem";
};
version = "3.0.3";
};
rainbow = {
dependencies = ["rake"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
type = "gem";
};
version = "2.2.2";
};
rake = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cvaqarr1m84mhc006g3l1vw7sa5qpkcw0138lsxlf769zdllsgp";
type = "gem";
};
version = "12.3.3";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3";
type = "gem";
};
version = "3.8.0";
};
rspec-core = {
dependencies = ["rspec-support"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p";
type = "gem";
};
version = "3.8.0";
};
rspec-expectations = {
dependencies = ["diff-lcs" "rspec-support"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vfqqcjmhdq25jrc8rd7nx4n8xid7s1ynv65ph06bk2xafn3rgll";
type = "gem";
};
version = "3.8.1";
};
rspec-mocks = {
dependencies = ["diff-lcs" "rspec-support"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp";
type = "gem";
};
version = "3.8.0";
};
rspec-parameterized = {
dependencies = ["binding_of_caller" "parser" "proc_to_ast" "rspec" "unparser"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0arynbr6cfjhccwc8gy2xf87nybdnncsnmfwknnh8s7d4mj730p0";
type = "gem";
};
version = "0.4.0";
};
rspec-support = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609";
type = "gem";
};
version = "3.8.0";
};
rubocop = {
dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mqyylfzch0967w7nfnqza84sqhljijd9y4bnq8hcmrscch75cxw";
type = "gem";
};
version = "0.49.1";
};
ruby-progressbar = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk";
type = "gem";
};
version = "1.9.0";
};
safe_yaml = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
type = "gem";
};
version = "1.0.4";
};
simplecov = {
dependencies = ["docile" "multi_json" "simplecov-html"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12";
type = "gem";
};
version = "0.9.2";
};
simplecov-html = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc";
type = "gem";
};
version = "0.9.0";
};
thread_safe = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
type = "gem";
};
version = "0.3.6";
};
unicode-display_width = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
type = "gem";
};
version = "1.4.0";
};
unparser = {
dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rh1649846ac17av30x0b0v9l45v0x1j2y1i8m1a7xdd0v4sld0z";
type = "gem";
};
version = "0.2.8";
};
vcr = {
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qh7lkj9b0shph84dw1wsrlaprl0jn1i4339fpsfy99402290zrr";
type = "gem";
};
version = "4.0.0";
};
webmock = {
dependencies = ["addressable" "crack" "hashdiff"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib";
type = "gem";
};
version = "3.4.2";
};
}

@ -60,12 +60,10 @@ diff --git a/go/internal/command/fallback/fallback.go b/go/internal/command/fall
index 2cb76a8..f59ad5e 100644
--- a/go/internal/command/fallback/fallback.go
+++ b/go/internal/command/fallback/fallback.go
@@ -21,7 +21,7 @@
)
@@ -53,5 +53,5 @@
func (c *Command) fallbackProgram() string {
fileName := fmt.Sprintf("%s-ruby", c.Executable.Name)
func (c *Command) Execute() error {
- rubyCmd := filepath.Join(c.RootDir, "bin", RubyProgram)
+ rubyCmd := filepath.Join("/run/current-system/sw/bin", RubyProgram)
// Ensure rubyArgs[0] is the full path to gitlab-shell-ruby
rubyArgs := append([]string{rubyCmd}, c.Args[1:]...)
- return filepath.Join(c.RootDir, "bin", fileName)
+ return filepath.Join("/run/current-system/sw/bin", fileName)
}

@ -1,21 +1,33 @@
{ stdenv, fetchFromGitLab, git, go }:
{ stdenv, fetchFromGitLab, git, buildGoPackage }:
stdenv.mkDerivation rec {
buildGoPackage rec {
pname = "gitlab-workhorse";
version = "8.7.0";
version = "8.10.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-workhorse";
rev = "v${version}";
sha256 = "1zlngc498hnzbxwdjn3ymr0xwrnfgnzzhn9lyf37yfbjl8x28n3z";
sha256 = "11cfhh48dga5ghfcijb68gbx0nfr5bs3vvp2j1gam9ac37fpvk0x";
};
buildInputs = [ git go ];
goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
goDeps = ./deps.nix;
buildInputs = [ git ];
makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" "GOCACHE=$(TMPDIR)/go-cache" ];
# gitlab-workhorse depends on an older version of labkit which
# contains old, vendored versions of some packages; gitlab-workhorse
# also explicitly depends on newer versions of these libraries,
# but buildGoPackage exposes the vendored versions instead,
# leading to compilation errors. Since the vendored libraries
# aren't used here anyway, we'll just remove them.
postConfigure = ''
rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/labkit/vendor"
'';
meta = with stdenv.lib; {
homepage = http://www.gitlab.com/;
platforms = platforms.unix;

@ -0,0 +1,885 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "cloud.google.com/go";
fetch = {
type = "git";
url = "https://code.googlesource.com/gocloud";
rev = "v0.26.0";
sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
};
}
{
goPackagePath = "github.com/BurntSushi/toml";
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "v0.3.1";
sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
};
}
{
goPackagePath = "github.com/FZambia/sentinel";
fetch = {
type = "git";
url = "https://github.com/FZambia/sentinel";
rev = "v1.0.0";
sha256 = "14cfngdy0n5rg7nrvxg1ydcjd18v0s8h33jx9wkln5ms0d59kfly";
};
}
{
goPackagePath = "github.com/alecthomas/template";
fetch = {
type = "git";
url = "https://github.com/alecthomas/template";
rev = "a0175ee3bccc";
sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
};
}
{
goPackagePath = "github.com/alecthomas/units";
fetch = {
type = "git";
url = "https://github.com/alecthomas/units";
rev = "2efee857e7cf";
sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
};
}
{
goPackagePath = "github.com/beorn7/perks";
fetch = {
type = "git";
url = "https://github.com/beorn7/perks";
rev = "v1.0.0";
sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
};
}
{
goPackagePath = "github.com/certifi/gocertifi";
fetch = {
type = "git";
url = "https://github.com/certifi/gocertifi";
rev = "ee1a9a0726d2";
sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4";
};
}
{
goPackagePath = "github.com/client9/misspell";
fetch = {
type = "git";
url = "https://github.com/client9/misspell";
rev = "v0.3.4";
sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
};
}
{
goPackagePath = "github.com/client9/reopen";
fetch = {
type = "git";
url = "https://github.com/client9/reopen";
rev = "v1.0.0";
sha256 = "0f0dpdbmvk7w518c6zjhlmp65y55vvx47x4lq9pgzvcbsvjsf18s";
};
}
{
goPackagePath = "github.com/cloudflare/tableflip";
fetch = {
type = "git";
url = "https://github.com/cloudflare/tableflip";
rev = "8392f1641731";
sha256 = "0by5hk8s0bhhl3kiw658p5g53zvc61k4q2wxnh1w64p5ghd1rfn8";
};
}
{
goPackagePath = "github.com/codahale/hdrhistogram";
fetch = {
type = "git";
url = "https://github.com/codahale/hdrhistogram";
rev = "3a0bb77429bd";
sha256 = "1zampgfjbxy192cbwdi7g86l1idxaam96d834wncnpfdwgh5kl57";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/dgrijalva/jwt-go";
fetch = {
type = "git";
url = "https://github.com/dgrijalva/jwt-go";
rev = "v3.2.0";
sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
};
}
{
goPackagePath = "github.com/fsnotify/fsnotify";
fetch = {
type = "git";
url = "https://github.com/fsnotify/fsnotify";
rev = "v1.4.7";
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
};
}
{
goPackagePath = "github.com/getsentry/raven-go";
fetch = {
type = "git";
url = "https://github.com/getsentry/raven-go";
rev = "v0.1.2";
sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
};
}
{
goPackagePath = "github.com/go-kit/kit";
fetch = {
type = "git";
url = "https://github.com/go-kit/kit";
rev = "v0.8.0";
sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
};
}
{
goPackagePath = "github.com/go-logfmt/logfmt";
fetch = {
type = "git";
url = "https://github.com/go-logfmt/logfmt";
rev = "v0.3.0";
sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
};
}
{
goPackagePath = "github.com/go-stack/stack";
fetch = {
type = "git";
url = "https://github.com/go-stack/stack";
rev = "v1.8.0";
sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
};
}
{
goPackagePath = "github.com/gogo/protobuf";
fetch = {
type = "git";
url = "https://github.com/gogo/protobuf";
rev = "v1.1.1";
sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
};
}
{
goPackagePath = "github.com/golang/gddo";
fetch = {
type = "git";
url = "https://github.com/golang/gddo";
rev = "af0f2af80721";
sha256 = "0ja0xwgg31i2fyqn0b9sf1rjsqkw34kwrr0k0iczzn19mhhc3m7j";
};
}
{
goPackagePath = "github.com/golang/glog";
fetch = {
type = "git";
url = "https://github.com/golang/glog";
rev = "23def4e6c14b";
sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
};
}
{
goPackagePath = "github.com/golang/lint";
fetch = {
type = "git";
url = "https://github.com/golang/lint";
rev = "06c8688daad7";
sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
};
}
{
goPackagePath = "github.com/golang/mock";
fetch = {
type = "git";
url = "https://github.com/golang/mock";
rev = "v1.1.1";
sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "v1.3.1";
sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
};
}
{
goPackagePath = "github.com/gomodule/redigo";
fetch = {
type = "git";
url = "https://github.com/gomodule/redigo";
rev = "v2.0.0";
sha256 = "1kg7s8027b4g1sfw0v3nh30c15j407kv684s53gg281r807dnfpk";
};
}
{
goPackagePath = "github.com/google/go-cmp";
fetch = {
type = "git";
url = "https://github.com/google/go-cmp";
rev = "v0.3.1";
sha256 = "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1";
};
}
{
goPackagePath = "github.com/google/renameio";
fetch = {
type = "git";
url = "https://github.com/google/renameio";
rev = "v0.1.0";
sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
};
}
{
goPackagePath = "github.com/google/uuid";
fetch = {
type = "git";
url = "https://github.com/google/uuid";
rev = "v1.1.1";
sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
};
}
{
goPackagePath = "github.com/gopherjs/gopherjs";
fetch = {
type = "git";
url = "https://github.com/gopherjs/gopherjs";
rev = "0766667cb4d1";
sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
};
}
{
goPackagePath = "github.com/gorilla/websocket";
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "v1.4.0";
sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
};
}
{
goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
fetch = {
type = "git";
url = "https://github.com/grpc-ecosystem/go-grpc-middleware";
rev = "v1.0.0";
sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp";
};
}
{
goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus";
fetch = {
type = "git";
url = "https://github.com/grpc-ecosystem/go-grpc-prometheus";
rev = "v1.2.0";
sha256 = "1lzk54h7np32b3acidg1ggbn8ppbnns0m71gcg9d1qkkdh8zrijl";
};
}
{
goPackagePath = "github.com/hpcloud/tail";
fetch = {
type = "git";
url = "https://github.com/hpcloud/tail";
rev = "v1.0.0";
sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
};
}
{
goPackagePath = "github.com/jfbus/httprs";
fetch = {
type = "git";
url = "https://github.com/jfbus/httprs";
rev = "b0af8319bb15";
sha256 = "05cg9a27i9g92n3bivqrrqznccl5lfadlk97sp9izmd368dl5qvc";
};
}
{
goPackagePath = "github.com/jpillora/backoff";
fetch = {
type = "git";
url = "https://github.com/jpillora/backoff";
rev = "8eab2debe79d";
sha256 = "1m5z0703094vhbbmp6s7n6kk7ci5s1pfjq466mz14zp8d1w0yn3x";
};
}
{
goPackagePath = "github.com/json-iterator/go";
fetch = {
type = "git";
url = "https://github.com/json-iterator/go";
rev = "v1.1.6";
sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
};
}
{
goPackagePath = "github.com/jtolds/gls";
fetch = {
type = "git";
url = "https://github.com/jtolds/gls";
rev = "v4.20.0";
sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
};
}
{
goPackagePath = "github.com/julienschmidt/httprouter";
fetch = {
type = "git";
url = "https://github.com/julienschmidt/httprouter";
rev = "v1.2.0";
sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
};
}
{
goPackagePath = "github.com/kelseyhightower/envconfig";
fetch = {
type = "git";
url = "https://github.com/kelseyhightower/envconfig";
rev = "v1.3.0";
sha256 = "1zcq480ig7wbg4378qcfxznp2gzqmk7x6rbxizflvg9v2f376vrw";
};
}
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "v1.0.0";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
fetch = {
type = "git";
url = "https://github.com/konsorten/go-windows-terminal-sequences";
rev = "v1.0.2";
sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
};
}
{
goPackagePath = "github.com/kr/logfmt";
fetch = {
type = "git";
url = "https://github.com/kr/logfmt";
rev = "b84e30acd515";
sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
};
}
{
goPackagePath = "github.com/kr/pretty";
fetch = {
type = "git";
url = "https://github.com/kr/pretty";
rev = "v0.1.0";
sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
};
}
{
goPackagePath = "github.com/kr/pty";
fetch = {
type = "git";
url = "https://github.com/kr/pty";
rev = "v1.1.1";
sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
};
}
{
goPackagePath = "github.com/kr/text";
fetch = {
type = "git";
url = "https://github.com/kr/text";
rev = "v0.1.0";
sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
};
}
{
goPackagePath = "github.com/libgit2/git2go";
fetch = {
type = "git";
url = "https://github.com/libgit2/git2go";
rev = "ecaeb7a21d47";
sha256 = "14r7ryff93r49g94f6kg66xc0y6rwb31lj22s3qmzmlgywk0pgvr";
};
}
{
goPackagePath = "github.com/lightstep/lightstep-tracer-go";
fetch = {
type = "git";
url = "https://github.com/lightstep/lightstep-tracer-go";
rev = "v0.15.6";
sha256 = "10n5r66g44s6rnz5kf86s4a3p1g55kc1kxqhnk7bx7mlayndgpmb";
};
}
{
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
fetch = {
type = "git";
url = "https://github.com/matttproud/golang_protobuf_extensions";
rev = "v1.0.1";
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
};
}
{
goPackagePath = "github.com/mitchellh/copystructure";
fetch = {
type = "git";
url = "https://github.com/mitchellh/copystructure";
rev = "v1.0.0";
sha256 = "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr";
};
}
{
goPackagePath = "github.com/mitchellh/reflectwalk";
fetch = {
type = "git";
url = "https://github.com/mitchellh/reflectwalk";
rev = "v1.0.0";
sha256 = "0wzkp0fdx22n8f7y9y37dgmnlrlfsv9zjdb48cbx7rsqsbnny7l0";
};
}
{
goPackagePath = "github.com/modern-go/concurrent";
fetch = {
type = "git";
url = "https://github.com/modern-go/concurrent";
rev = "bacd9c7ef1dd";
sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
};
}
{
goPackagePath = "github.com/modern-go/reflect2";
fetch = {
type = "git";
url = "https://github.com/modern-go/reflect2";
rev = "v1.0.1";
sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
};
}
{
goPackagePath = "github.com/mwitkow/go-conntrack";
fetch = {
type = "git";
url = "https://github.com/mwitkow/go-conntrack";
rev = "cc309e4a2223";
sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
};
}
{
goPackagePath = "github.com/onsi/ginkgo";
fetch = {
type = "git";
url = "https://github.com/onsi/ginkgo";
rev = "v1.7.0";
sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
};
}
{
goPackagePath = "github.com/onsi/gomega";
fetch = {
type = "git";
url = "https://github.com/onsi/gomega";
rev = "v1.4.3";
sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
};
}
{
goPackagePath = "github.com/opentracing/opentracing-go";
fetch = {
type = "git";
url = "https://github.com/opentracing/opentracing-go";
rev = "v1.0.2";
sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
};
}
{
goPackagePath = "github.com/philhofer/fwd";
fetch = {
type = "git";
url = "https://github.com/philhofer/fwd";
rev = "v1.0.0";
sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "v0.8.0";
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "v1.0.0";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/prometheus/client_golang";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_golang";
rev = "v1.0.0";
sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6";
};
}
{
goPackagePath = "github.com/prometheus/client_model";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_model";
rev = "fd36f4220a90";
sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
};
}
{
goPackagePath = "github.com/prometheus/common";
fetch = {
type = "git";
url = "https://github.com/prometheus/common";
rev = "v0.4.1";
sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
};
}
{
goPackagePath = "github.com/prometheus/procfs";
fetch = {
type = "git";
url = "https://github.com/prometheus/procfs";
rev = "v0.0.2";
sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
};
}
{
goPackagePath = "github.com/rafaeljusto/redigomock";
fetch = {
type = "git";
url = "https://github.com/rafaeljusto/redigomock";
rev = "257e089e14a1";
sha256 = "1k572vsda7q5l42s1kn5bjkfb30jshsbc96dz4cnghg43qylyd6h";
};
}
{
goPackagePath = "github.com/rogpeppe/go-internal";
fetch = {
type = "git";
url = "https://github.com/rogpeppe/go-internal";
rev = "v1.3.0";
sha256 = "0mcdh1licgnnahwml9y2iq6xy5x9xmjw5frcnds2s3wpjyqrl216";
};
}
{
goPackagePath = "github.com/sebest/xff";
fetch = {
type = "git";
url = "https://github.com/sebest/xff";
rev = "6c115e0ffa35";
sha256 = "0l11d8mc870vxzgi74cc9dqr7kgxjmbfkfi53gc30rsyx877jx4h";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "v1.3.0";
sha256 = "0ib7k8cwxn53dyxd3af1g81z018n77n6q64pm4miznirf7c2c9gk";
};
}
{
goPackagePath = "github.com/smartystreets/assertions";
fetch = {
type = "git";
url = "https://github.com/smartystreets/assertions";
rev = "b2de0cb4f26d";
sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
};
}
{
goPackagePath = "github.com/smartystreets/goconvey";
fetch = {
type = "git";
url = "https://github.com/smartystreets/goconvey";
rev = "505e41936337";
sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
};
}
{
goPackagePath = "github.com/stretchr/objx";
fetch = {
type = "git";
url = "https://github.com/stretchr/objx";
rev = "v0.1.1";
sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.3.0";
sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
};
}
{
goPackagePath = "github.com/tinylib/msgp";
fetch = {
type = "git";
url = "https://github.com/tinylib/msgp";
rev = "v1.1.0";
sha256 = "08ha23sn14071ywrgxlyj7r523vzdwx1i83dcp1mqa830glgqaff";
};
}
{
goPackagePath = "github.com/uber-go/atomic";
fetch = {
type = "git";
url = "https://github.com/uber-go/atomic";
rev = "v1.3.2";
sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
};
}
{
goPackagePath = "github.com/uber/jaeger-client-go";
fetch = {
type = "git";
url = "https://github.com/uber/jaeger-client-go";
rev = "v2.15.0";
sha256 = "0ki23m9zrf3vxp839fnp9ckr4m28y6mpad8g5s5lr5k8jkl0sfwj";
};
}
{
goPackagePath = "github.com/uber/jaeger-lib";
fetch = {
type = "git";
url = "https://github.com/uber/jaeger-lib";
rev = "v1.5.0";
sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/gitaly";
fetch = {
type = "git";
url = "https://gitlab.com/gitlab-org/gitaly.git";
rev = "v1.57.0";
sha256 = "0mgawp5afcv9s4y8fq3mc4dn6hhdg1shbns8vmjwklh9bia988cy";
};
}
{
goPackagePath = "gitlab.com/gitlab-org/labkit";
fetch = {
type = "git";
url = "https://gitlab.com/gitlab-org/labkit.git";
rev = "905271af7abb";
sha256 = "144w5dikd82wz53drml9khlx39pmp6kgqccc5c0xfzpijbj7krbd";
};
}
{
goPackagePath = "go.uber.org/atomic";
fetch = {
type = "git";
url = "https://github.com/uber-go/atomic";
rev = "v1.3.2";
sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "20be4c3c3ed5";
sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
};
}
{
goPackagePath = "golang.org/x/lint";
fetch = {
type = "git";
url = "https://go.googlesource.com/lint";
rev = "06c8688daad7";
sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
};
}
{
goPackagePath = "golang.org/x/mod";
fetch = {
type = "git";
url = "https://go.googlesource.com/mod";
rev = "4bf6d317e70e";
sha256 = "19lg1ly3j31anx92p0hynic1gjk417wwxphfdrb2cq1c19kj3r17";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "d28f0bde5980";
sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
};
}
{
goPackagePath = "golang.org/x/oauth2";
fetch = {
type = "git";
url = "https://go.googlesource.com/oauth2";
rev = "d2e6202438be";
sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://go.googlesource.com/sync";
rev = "112230192c58";
sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "953cdadca894";
sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "v0.3.0";
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "6e04913cbbac";
sha256 = "1314j8r4cp69a12nqdaljd06r6hmh3b1v4xyrz8prw6gx5jg7h3q";
};
}
{
goPackagePath = "google.golang.org/appengine";
fetch = {
type = "git";
url = "https://github.com/golang/appengine";
rev = "v1.1.0";
sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
};
}
{
goPackagePath = "google.golang.org/genproto";
fetch = {
type = "git";
url = "https://github.com/google/go-genproto";
rev = "bd91e49a0898";
sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8";
};
}
{
goPackagePath = "google.golang.org/grpc";
fetch = {
type = "git";
url = "https://github.com/grpc/grpc-go";
rev = "v1.16.0";
sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
};
}
{
goPackagePath = "gopkg.in/DataDog/dd-trace-go.v1";
fetch = {
type = "git";
url = "https://gopkg.in/DataDog/dd-trace-go.v1";
rev = "v1.7.0";
sha256 = "0j45skiiayfsaw8id4g20k51zfr0raj47a03q2icka5xrh3qj6yq";
};
}
{
goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
fetch = {
type = "git";
url = "https://gopkg.in/alecthomas/kingpin.v2";
rev = "v2.2.6";
sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
};
}
{
goPackagePath = "gopkg.in/check.v1";
fetch = {
type = "git";
url = "https://gopkg.in/check.v1";
rev = "788fd7840127";
sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
};
}
{
goPackagePath = "gopkg.in/errgo.v2";
fetch = {
type = "git";
url = "https://gopkg.in/errgo.v2";
rev = "v2.1.0";
sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
};
}
{
goPackagePath = "gopkg.in/fsnotify.v1";
fetch = {
type = "git";
url = "https://gopkg.in/fsnotify.v1";
rev = "v1.4.7";
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
};
}
{
goPackagePath = "gopkg.in/tomb.v1";
fetch = {
type = "git";
url = "https://gopkg.in/tomb.v1";
rev = "dd632973f1e7";
sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "v2.2.2";
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
};
}
{
goPackagePath = "honnef.co/go/tools";
fetch = {
type = "git";
url = "https://github.com/dominikh/go-tools";
rev = "v0.0.1-2019.2.2";
sha256 = "1vndpwg797z2gw9h9378iq99aqy7nalqx82lgvcsaqnkypdmppnd";
};
}
]

@ -2,6 +2,8 @@ source 'https://rubygems.org'
gem 'rails', '5.2.3'
gem 'bootsnap', '~> 1.4'
# Improves copy-on-write performance for MRI
gem 'nakayoshi_fork', '~> 0.0.4'
@ -14,8 +16,7 @@ gem 'sprockets', '~> 3.7.0'
gem 'default_value_for', '~> 3.2.0'
# Supported DBs
gem 'mysql2', '~> 0.4.10', group: :mysql
gem 'pg', '~> 1.1', group: :postgres
gem 'pg', '~> 1.1'
gem 'rugged', '~> 0.28'
gem 'grape-path-helpers', '~> 1.1'
@ -47,9 +48,13 @@ gem 'omniauth-salesforce', '~> 1.0.5'
gem 'rack-oauth2', '~> 1.9.3'
gem 'jwt', '~> 2.1.0'
# Kerberos authentication. EE-only
gem 'gssapi', group: :kerberos
# Spam and anti-bot protection
gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
gem 'akismet', '~> 2.0'
gem 'invisible_captcha', '~> 0.12.1'
# Two-factor authentication
gem 'devise-two-factor', '~> 3.0.0'
@ -81,7 +86,10 @@ gem 'grape-entity', '~> 0.7.1'
gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
# GraphQL API
gem 'graphql', '~> 1.8.0'
gem 'graphql', '~> 1.9.11'
# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab-ce/issues/67293
# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
# https://gitlab.com/gitlab-org/gitlab-ce/issues/67263
gem 'graphiql-rails', '~> 1.4.10'
gem 'apollo_upload_server', '~> 2.0.0.beta3'
gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
@ -104,7 +112,7 @@ gem 'fog-aws', '~> 3.5'
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
# Also see config/initializers/fog_core_patch.rb.
gem 'fog-core', '= 2.1.0'
gem 'fog-google', '~> 1.8'
gem 'fog-google', '~> 1.9'
gem 'fog-local', '~> 0.6'
gem 'fog-openstack', '~> 1.0'
gem 'fog-rackspace', '~> 0.1.1'
@ -119,6 +127,13 @@ gem 'unf', '~> 0.1.4'
# Seed data
gem 'seed-fu', '~> 2.3.7'
# Search
gem 'elasticsearch-model', '~> 0.1.9'
gem 'elasticsearch-rails', '~> 0.1.9', require: 'elasticsearch/rails/instrumentation'
gem 'elasticsearch-api', '5.0.3'
gem 'aws-sdk'
gem 'faraday_middleware-aws-signers-v4'
# Markdown and HTML processing
gem 'html-pipeline', '~> 2.8'
gem 'deckar01-task_list', '2.2.0'
@ -133,10 +148,10 @@ gem 'wikicloth', '0.8.1'
gem 'asciidoctor', '~> 2.0.10'
gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
gem 'asciidoctor-plantuml', '0.0.9'
gem 'rouge', '~> 3.5'
gem 'rouge', '~> 3.7'
gem 'truncato', '~> 0.7.11'
gem 'bootstrap_form', '~> 4.2.0'
gem 'nokogiri', '~> 1.10.3'
gem 'nokogiri', '~> 1.10.4'
gem 'escape_utils', '~> 1.1'
# Calendar rendering
@ -169,7 +184,7 @@ gem 'acts-as-taggable-on', '~> 6.0'
gem 'sidekiq', '~> 5.2.7'
gem 'sidekiq-cron', '~> 1.0'
gem 'redis-namespace', '~> 1.6.0'
gem 'gitlab-sidekiq-fetcher', '~> 0.4.0', require: 'sidekiq-reliable-fetch'
gem 'gitlab-sidekiq-fetcher', '0.5.2', require: 'sidekiq-reliable-fetch'
# Cron Parser
gem 'fugit', '~> 1.2.1'
@ -199,13 +214,13 @@ gem 'js_regex', '~> 3.1'
# User agent parsing
gem 'device_detector'
# Cache
gem 'redis-rails', '~> 5.0.2'
# Redis
gem 'redis', '~> 3.2'
gem 'redis', '~> 4.0'
gem 'connection_pool', '~> 2.0'
# Redis session store
gem 'redis-rails', '~> 5.0.2'
# Discord integration
gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
@ -213,7 +228,8 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
gem 'hipchat', '~> 1.5.0'
# Jira integration
gem 'jira-ruby', '~> 1.4'
gem 'jira-ruby', '~> 1.7'
gem 'atlassian-jwt', '~> 0.2.0'
# Flowdock integration
gem 'flowdock', '~> 0.7'
@ -231,7 +247,7 @@ gem 'asana', '~> 0.8.1'
gem 'ruby-fogbugz', '~> 0.2.1'
# Kubernetes integration
gem 'kubeclient', '~> 4.2.2'
gem 'kubeclient', '~> 4.4.0'
# Sanitize user input
gem 'sanitize', '~> 4.6'
@ -260,7 +276,7 @@ gem 'fast_blank'
# Parse time & duration
gem 'chronic', '~> 0.10.2'
gem 'chronic_duration', '~> 0.10.6'
gem 'gitlab_chronic_duration', '~> 0.10.6.1'
gem 'webpack-rails', '~> 0.9.10'
gem 'rack-proxy', '~> 0.6.0'
@ -273,16 +289,17 @@ gem 'font-awesome-rails', '~> 4.7'
gem 'gemojione', '~> 3.3'
gem 'gon', '~> 6.2'
gem 'request_store', '~> 1.3'
gem 'virtus', '~> 1.0.1'
gem 'base32', '~> 0.3.0'
gem "gitlab-license", "~> 1.0"
# Sentry integration
gem 'sentry-raven', '~> 2.9'
gem 'premailer-rails', '~> 1.9.7'
# LabKit: Tracing and Correlation
gem 'gitlab-labkit', '~> 0.3.0'
gem 'gitlab-labkit', '~> 0.5'
# I18n
gem 'ruby_parser', '~> 3.8', require: false
@ -294,12 +311,11 @@ gem 'gettext', '~> 3.2.2', require: false, group: :development
gem 'batch-loader', '~> 1.4.0'
# Perf bar
gem 'peek', '~> 1.0.1'
gem 'peek-gc', '~> 0.0.2'
gem 'peek-mysql2', '~> 1.2.0', group: :mysql
gem 'peek-pg', '~> 1.3.0', group: :postgres
gem 'peek-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0'
# https://gitlab.com/gitlab-org/gitlab-ee/issues/13996
gem 'gitlab-peek', '~> 0.0.1', require: 'peek'
# Snowplow events tracking
gem 'snowplow-tracker', '~> 0.6.1'
# Memory benchmarks
gem 'derailed_benchmarks', require: false
@ -310,13 +326,14 @@ group :metrics do
gem 'influxdb', '~> 0.2', require: false
# Prometheus
gem 'prometheus-client-mmap', '~> 0.9.8'
gem 'prometheus-client-mmap', '~> 0.9.10'
gem 'raindrops', '~> 0.18'
end
group :development do
gem 'foreman', '~> 0.84.0'
gem 'brakeman', '~> 4.2', require: false
gem 'danger', '~> 6.0', require: false
gem 'letter_opener_web', '~> 1.3.4'
gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
@ -330,7 +347,6 @@ group :development do
end
group :development, :test do
gem 'bootsnap', '~> 1.4'
gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
gem 'pry-byebug', '~> 3.5.1', platform: :mri
gem 'pry-rails', '~> 0.3.4'
@ -369,15 +385,12 @@ group :development, :test do
gem 'haml_lint', '~> 0.31.0', require: false
gem 'simplecov', '~> 0.16.1', require: false
gem 'bundler-audit', '~> 0.5.0', require: false
gem 'mdl', '~> 0.5.0', require: false
gem 'benchmark-ips', '~> 2.3.0', require: false
gem 'license_finder', '~> 5.4', require: false
gem 'knapsack', '~> 1.17'
gem 'activerecord_sane_schema_dumper', '1.0'
gem 'stackprof', '~> 0.2.10', require: false
gem 'simple_po_parser', '~> 1.1.2', require: false
@ -391,7 +404,6 @@ group :test do
gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 3.5.1'
gem 'rails-controller-testing'
gem 'sham_rack', '~> 1.3.6'
gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 0.2.5'
gem 'rspec_junit_formatter'
@ -404,7 +416,7 @@ gem 'mail_room', '~> 0.9.1'
gem 'email_reply_trimmer', '~> 0.1'
gem 'html2text'
gem 'ruby-prof', '~> 0.17.0'
gem 'ruby-prof', '~> 1.0.0'
gem 'rbtrace', '~> 0.4', require: false
gem 'memory_profiler', '~> 0.9', require: false
gem 'benchmark-memory', '~> 0.1', require: false
@ -420,6 +432,9 @@ gem 'health_check', '~> 2.6.0'
gem 'vmstat', '~> 2.3.0'
gem 'sys-filesystem', '~> 1.1.6'
# NTP client
gem 'net-ntp'
# SSH host key support
gem 'net-ssh', '~> 5.2'
gem 'sshkey', '~> 2.0'
@ -430,8 +445,8 @@ group :ed25519 do
gem 'bcrypt_pbkdf', '~> 1.0'
end
# Gitaly GRPC client
gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
# Gitaly GRPC protocol definitions
gem 'gitaly', '~> 1.58.0'
gem 'grpc', '~> 1.19.0'
@ -443,7 +458,14 @@ gem 'toml-rb', '~> 1.0.0', require: false
gem 'flipper', '~> 0.13.0'
gem 'flipper-active_record', '~> 0.13.0'
gem 'flipper-active_support_cache_store', '~> 0.13.0'
gem 'unleash', '~> 0.1.5'
# Structured logging
gem 'lograge', '~> 0.5'
gem 'grape_logging', '~> 1.7'
# DNS Lookup
gem 'net-dns', '~> 0.9.0'
# Countries list
gem 'countries', '~> 3.0'

@ -41,8 +41,6 @@ GEM
activerecord-explain-analyze (0.1.0)
activerecord (>= 4)
pg
activerecord_sane_schema_dumper (1.0)
rails (>= 5, < 6)
activestorage (5.2.3)
actionpack (= 5.2.3)
activerecord (= 5.2.3)
@ -76,11 +74,20 @@ GEM
asciidoctor-plantuml (0.0.9)
asciidoctor (>= 1.5.6, < 3.0.0)
ast (2.4.0)
atomic (1.1.99)
atlassian-jwt (0.2.0)
jwt (~> 2.1.0)
attr_encrypted (3.1.0)
encryptor (~> 3.0.0)
attr_required (1.0.1)
awesome_print (1.8.0)
aws-sdk (2.9.32)
aws-sdk-resources (= 2.9.32)
aws-sdk-core (2.9.32)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
aws-sdk-resources (2.9.32)
aws-sdk-core (= 2.9.32)
aws-sigv4 (1.0.0)
axiom-types (0.1.1)
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
@ -101,7 +108,7 @@ GEM
binding_ninja (0.2.3)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
bootsnap (1.4.1)
bootsnap (1.4.4)
msgpack (~> 1.0)
bootstrap_form (4.2.0)
actionpack (>= 5.0)
@ -137,22 +144,31 @@ GEM
childprocess (0.9.0)
ffi (~> 1.0, >= 1.0.11)
chronic (0.10.2)
chronic_duration (0.10.6)
numerizer (~> 0.1.1)
chunky_png (1.3.5)
citrus (3.0.2)
claide (1.0.3)
claide-plugins (0.9.2)
cork
nap
open4 (~> 1.3)
coderay (1.1.2)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
colored2 (3.1.2)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concord (0.1.5)
adamantium (~> 0.2.0)
equalizer (~> 0.0.9)
concurrent-ruby (1.1.5)
concurrent-ruby-ext (1.1.5)
concurrent-ruby (= 1.1.5)
connection_pool (2.2.2)
contracts (0.11.0)
cork (0.3.0)
colored2 (~> 3.1)
countries (3.0.0)
i18n_data (~> 0.8.0)
sixarm_ruby_unaccent (~> 1.1)
unicode_utils (~> 1.4)
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.4)
@ -160,6 +176,19 @@ GEM
css_parser (1.5.0)
addressable
daemons (1.2.6)
danger (6.0.9)
claide (~> 1.0)
claide-plugins (>= 0.9.2)
colored2 (~> 3.1)
cork (~> 0.1)
faraday (~> 0.9)
faraday-http-cache (~> 2.0)
git (~> 1.5)
kramdown (~> 2.0)
kramdown-parser-gfm (~> 1.0)
no_proxy_fix
octokit (~> 4.7)
terminal-table (~> 1)
database_cleaner (1.7.0)
debug_inspector (0.0.3)
debugger-ruby_core_source (1.3.8)
@ -205,6 +234,19 @@ GEM
doorkeeper (~> 4.3)
json-jwt (~> 1.6)
ed25519 (1.2.4)
elasticsearch (5.0.3)
elasticsearch-api (= 5.0.3)
elasticsearch-transport (= 5.0.3)
elasticsearch-api (5.0.3)
multi_json
elasticsearch-model (0.1.9)
activesupport (> 3)
elasticsearch (> 0.4)
hashie
elasticsearch-rails (0.1.9)
elasticsearch-transport (5.0.3)
faraday
multi_json
email_reply_trimmer (0.1.6)
email_spec (2.2.0)
htmlentities (~> 4.3.3)
@ -229,15 +271,20 @@ GEM
railties (>= 3.0.0)
faraday (0.12.2)
multipart-post (>= 1.2, < 3)
faraday-http-cache (2.0.0)
faraday (~> 0.8)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
faraday_middleware-aws-signers-v4 (0.1.7)
aws-sdk-resources (~> 2)
faraday (~> 0.9)
faraday_middleware-multi_json (0.0.6)
faraday_middleware
multi_json
fast_blank (1.0.0)
fast_gettext (1.6.0)
ffaker (2.10.0)
ffi (1.10.0)
ffi (1.11.1)
flipper (0.13.0)
flipper-active_record (0.13.0)
activerecord (>= 3.2, < 6)
@ -263,7 +310,7 @@ GEM
excon (~> 0.58)
formatador (~> 0.2)
mime-types
fog-google (1.8.2)
fog-google (1.9.1)
fog-core (<= 2.1.0)
fog-json (~> 1.2)
fog-xml (~> 0.1.0)
@ -310,23 +357,30 @@ GEM
gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0)
rails (>= 3.2.0)
gitaly-proto (1.37.0)
git (1.5.0)
gitaly (1.58.0)
grpc (~> 1.0)
github-markup (1.7.0)
gitlab-labkit (0.3.0)
gitlab-labkit (0.5.2)
actionpack (~> 5)
activesupport (~> 5)
grpc (~> 1.19.0)
grpc (~> 1.19)
jaeger-client (~> 0.10)
opentracing (~> 0.4)
redis (> 3.0.0, < 5.0.0)
gitlab-license (1.0.0)
gitlab-markup (1.7.0)
gitlab-sidekiq-fetcher (0.4.0)
gitlab-peek (0.0.1)
railties (>= 4.0.0)
gitlab-sidekiq-fetcher (0.5.2)
sidekiq (~> 5)
gitlab-styles (2.7.0)
gitlab-styles (2.8.0)
rubocop (~> 0.69.0)
rubocop-gitlab-security (~> 0.1.0)
rubocop-performance (~> 1.1.0)
rubocop-rspec (~> 1.19)
gitlab_chronic_duration (0.10.6.1)
numerizer (~> 0.1.1)
gitlab_omniauth-ldap (2.1.1)
net-ldap (~> 0.16)
omniauth (~> 1.3)
@ -376,7 +430,7 @@ GEM
graphiql-rails (1.4.10)
railties
sprockets-rails
graphql (1.8.1)
graphql (1.9.11)
graphql-docs (1.6.0)
commonmarker (~> 0.16)
escape_utils (~> 1.2)
@ -388,6 +442,8 @@ GEM
grpc (1.19.0)
google-protobuf (~> 3.1)
googleapis-common-protos-types (~> 1.0.0)
gssapi (1.2.0)
ffi (>= 1.0.1)
haml (5.0.4)
temple (>= 0.8.0)
tilt
@ -433,20 +489,25 @@ GEM
httpclient (2.8.3)
i18n (1.6.0)
concurrent-ruby (~> 1.0)
i18n_data (0.8.0)
icalendar (2.4.1)
ice_nine (0.11.2)
influxdb (0.2.3)
cause
json
invisible_captcha (0.12.1)
rails (>= 3.2.0)
ipaddress (0.8.3)
jaeger-client (0.10.0)
opentracing (~> 0.3)
thrift
jaro_winkler (1.5.2)
jira-ruby (1.4.1)
jaro_winkler (1.5.3)
jira-ruby (1.7.1)
activesupport
atlassian-jwt
multipart-post
oauth (~> 0.5, >= 0.5.0)
jmespath (1.3.1)
js_regex (3.1.1)
character_set (~> 1.1)
regexp_parser (~> 1.1)
@ -474,8 +535,10 @@ GEM
kgio (2.11.2)
knapsack (1.17.0)
rake
kramdown (1.17.0)
kubeclient (4.2.2)
kramdown (2.1.0)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
kubeclient (4.4.0)
http (~> 3.0)
recursive-open-struct (~> 1.0, >= 1.0.4)
rest-client (~> 2.0)
@ -510,10 +573,6 @@ GEM
mail_room (0.9.1)
marcel (0.3.3)
mimemagic (~> 0.3.2)
mdl (0.5.0)
kramdown (~> 1.12, >= 1.12.0)
mixlib-cli (~> 1.7, >= 1.7.0)
mixlib-config (~> 2.2, >= 2.2.1)
memoist (0.16.0)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
@ -523,27 +582,28 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2019.0331)
mimemagic (0.3.2)
mini_magick (4.8.0)
mini_magick (4.9.5)
mini_mime (1.0.1)
mini_portile2 (2.4.0)
minitest (5.11.3)
mixlib-cli (1.7.0)
mixlib-config (2.2.18)
tomlrb
msgpack (1.2.10)
msgpack (1.3.0)
multi_json (1.13.1)
multi_xml (0.6.0)
multipart-post (2.0.0)
murmurhash3 (0.1.6)
mustermann (1.0.3)
mustermann-grape (1.0.0)
mustermann (~> 1.0.0)
mysql2 (0.4.10)
nakayoshi_fork (0.0.4)
nap (1.1.0)
net-dns (0.9.0)
net-ldap (0.16.0)
net-ntp (2.1.3)
net-ssh (5.2.0)
netrc (0.11.0)
nio4r (2.3.1)
nokogiri (1.10.3)
no_proxy_fix (0.1.2)
nokogiri (1.10.4)
mini_portile2 (~> 2.4.0)
nokogumbo (1.5.0)
nokogiri
@ -619,6 +679,7 @@ GEM
addressable (~> 2.5)
omniauth (~> 1.3)
openid_connect (~> 1.1)
open4 (1.3.4)
openid_connect (1.1.6)
activemodel
attr_required (>= 1.0.0)
@ -639,29 +700,6 @@ GEM
parser (2.6.3.0)
ast (~> 2.4.0)
parslet (1.8.2)
peek (1.0.1)
concurrent-ruby (>= 0.9.0)
concurrent-ruby-ext (>= 0.9.0)
railties (>= 4.0.0)
peek-gc (0.0.2)
peek
peek-mysql2 (1.2.0)
concurrent-ruby
concurrent-ruby-ext
mysql2
peek
peek-pg (1.3.0)
concurrent-ruby
concurrent-ruby-ext
peek
pg
peek-rblineprof (0.2.0)
peek
rblineprof
peek-redis (1.2.0)
atomic (>= 1.0.0)
peek
redis
pg (1.1.4)
po_to_json (1.0.1)
json (>= 1.6.0)
@ -677,7 +715,7 @@ GEM
parser
unparser
procto (0.0.3)
prometheus-client-mmap (0.9.8)
prometheus-client-mmap (0.9.10)
pry (0.11.3)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
@ -732,7 +770,7 @@ GEM
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.4)
rails-html-sanitizer (1.2.0)
loofah (~> 2.2, >= 2.2.2)
rails-i18n (5.1.1)
i18n (>= 0.7, < 2)
@ -760,17 +798,17 @@ GEM
recaptcha (4.13.1)
json
recursive-open-struct (1.1.0)
redis (3.3.5)
redis (4.1.2)
redis-actionpack (5.0.2)
actionpack (>= 4.0, < 6)
redis-rack (>= 1, < 3)
redis-store (>= 1.1.0, < 2)
redis-activesupport (5.0.4)
redis-activesupport (5.0.7)
activesupport (>= 3, < 6)
redis-store (>= 1.3, < 2)
redis-namespace (1.6.0)
redis (>= 3.0.4)
redis-rack (2.0.4)
redis-rack (2.0.5)
rack (>= 1.5, < 3)
redis-store (>= 1.2, < 2)
redis-rails (5.0.2)
@ -796,7 +834,7 @@ GEM
retriable (3.1.2)
rinku (2.0.0)
rotp (2.1.2)
rouge (3.5.1)
rouge (3.7.0)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
@ -855,8 +893,8 @@ GEM
i18n
ruby-fogbugz (0.2.1)
crack (~> 0.4)
ruby-prof (0.17.0)
ruby-progressbar (1.10.0)
ruby-prof (1.0.0)
ruby-progressbar (1.10.1)
ruby-saml (1.7.2)
nokogiri (>= 1.5.10)
ruby_parser (3.13.1)
@ -864,7 +902,7 @@ GEM
rubyntlm (0.6.2)
rubypants (0.2.0)
rubyzip (1.2.2)
rugged (0.28.1)
rugged (0.28.3.1)
safe_yaml (1.0.4)
sanitize (4.6.6)
crass (~> 1.0.2)
@ -900,8 +938,6 @@ GEM
faraday (>= 0.7.6, < 1.0)
settingslogic (2.0.9)
sexp_processor (4.12.0)
sham_rack (1.3.6)
rack
shoulda-matchers (4.0.1)
activesupport (>= 4.2.0)
sidekiq (5.2.7)
@ -923,7 +959,10 @@ GEM
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
sixarm_ruby_unaccent (1.2.0)
slack-notifier (1.5.1)
snowplow-tracker (0.6.1)
contracts (~> 0.7, <= 0.11)
spring (2.0.2)
activesupport (>= 4.2)
spring-commands-rspec (1.0.4)
@ -952,7 +991,9 @@ GEM
sys-filesystem (1.1.6)
ffi
sysexits (1.2.0)
temple (0.8.0)
temple (0.8.1)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
test-prof (0.2.5)
text (1.3.1)
thin (1.7.2)
@ -962,14 +1003,13 @@ GEM
thor (0.19.4)
thread_safe (0.3.6)
thrift (0.11.0.0)
tilt (2.0.8)
tilt (2.0.9)
timecop (0.8.1)
timfel-krb5-auth (0.8.3)
toml (0.2.0)
parslet (~> 1.8.0)
toml-rb (1.0.0)
citrus (~> 3.0, > 3.0)
tomlrb (1.2.8)
truncato (0.7.11)
htmlentities (~> 4.3.1)
nokogiri (>= 1.7.0, <= 2.0)
@ -984,6 +1024,7 @@ GEM
unf_ext
unf_ext (0.0.7.5)
unicode-display_width (1.6.0)
unicode_utils (1.4.0)
unicorn (5.4.1)
kgio (~> 2.6)
raindrops (~> 0.7)
@ -991,6 +1032,8 @@ GEM
get_process_mem (~> 0)
unicorn (>= 4, < 6)
uniform_notifier (1.10.0)
unleash (0.1.5)
murmurhash3 (~> 0.1.6)
unparser (0.4.5)
abstract_type (~> 0.0.7)
adamantium (~> 0.2.0)
@ -1046,7 +1089,6 @@ DEPENDENCIES
ace-rails-ap (~> 4.1.0)
acme-client (~> 2.0.2)
activerecord-explain-analyze (~> 0.1)
activerecord_sane_schema_dumper (= 1.0)
acts-as-taggable-on (~> 6.0)
addressable (~> 2.5.2)
akismet (~> 2.0)
@ -1055,8 +1097,10 @@ DEPENDENCIES
asciidoctor (~> 2.0.10)
asciidoctor-include-ext (~> 0.3.1)
asciidoctor-plantuml (= 0.0.9)
atlassian-jwt (~> 0.2.0)
attr_encrypted (~> 3.1.0)
awesome_print
aws-sdk
babosa (~> 1.0.2)
base32 (~> 0.3.0)
batch-loader (~> 1.4.0)
@ -1076,11 +1120,12 @@ DEPENDENCIES
carrierwave (~> 1.3)
charlock_holmes (~> 0.7.5)
chronic (~> 0.10.2)
chronic_duration (~> 0.10.6)
commonmarker (~> 0.17)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.0)
countries (~> 3.0)
creole (~> 0.5.0)
danger (~> 6.0)
database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.2.0)
default_value_for (~> 3.2.0)
@ -1093,11 +1138,15 @@ DEPENDENCIES
doorkeeper (~> 4.3)
doorkeeper-openid_connect (~> 1.5)
ed25519 (~> 1.2)
elasticsearch-api (= 5.0.3)
elasticsearch-model (~> 0.1.9)
elasticsearch-rails (~> 0.1.9)
email_reply_trimmer (~> 0.1)
email_spec (~> 2.2.0)
escape_utils (~> 1.1)
factory_bot_rails (~> 4.8.2)
faraday (~> 0.12)
faraday_middleware-aws-signers-v4
fast_blank
ffaker (~> 2.10)
flipper (~> 0.13.0)
@ -1107,7 +1156,7 @@ DEPENDENCIES
fog-aliyun (~> 0.3)
fog-aws (~> 3.5)
fog-core (= 2.1.0)
fog-google (~> 1.8)
fog-google (~> 1.9)
fog-local (~> 0.6)
fog-openstack (~> 1.0)
fog-rackspace (~> 0.1.1)
@ -1119,12 +1168,15 @@ DEPENDENCIES
gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3)
gitaly-proto (~> 1.37.0)
gitaly (~> 1.58.0)
github-markup (~> 1.7.0)
gitlab-labkit (~> 0.3.0)
gitlab-labkit (~> 0.5)
gitlab-license (~> 1.0)
gitlab-markup (~> 1.7.0)
gitlab-sidekiq-fetcher (~> 0.4.0)
gitlab-peek (~> 0.0.1)
gitlab-sidekiq-fetcher (= 0.5.2)
gitlab-styles (~> 2.7)
gitlab_chronic_duration (~> 0.10.6.1)
gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.2)
google-api-client (~> 0.23)
@ -1135,9 +1187,10 @@ DEPENDENCIES
grape-path-helpers (~> 1.1)
grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10)
graphql (~> 1.8.0)
graphql (~> 1.9.11)
graphql-docs (~> 1.6.0)
grpc (~> 1.19.0)
gssapi
haml_lint (~> 0.31.0)
hamlit (~> 2.8.8)
hangouts-chat (~> 0.0.5)
@ -1149,30 +1202,31 @@ DEPENDENCIES
httparty (~> 0.16.4)
icalendar
influxdb (~> 0.2)
jira-ruby (~> 1.4)
invisible_captcha (~> 0.12.1)
jira-ruby (~> 1.7)
js_regex (~> 3.1)
json-schema (~> 2.8.0)
jwt (~> 2.1.0)
kaminari (~> 1.0)
knapsack (~> 1.17)
kubeclient (~> 4.2.2)
kubeclient (~> 4.4.0)
letter_opener_web (~> 1.3.4)
license_finder (~> 5.4)
licensee (~> 8.9)
lograge (~> 0.5)
loofah (~> 2.2)
mail_room (~> 0.9.1)
mdl (~> 0.5.0)
memory_profiler (~> 0.9)
method_source (~> 0.8)
mimemagic (~> 0.3.2)
mini_magick
minitest (~> 5.11.0)
mysql2 (~> 0.4.10)
nakayoshi_fork (~> 0.0.4)
net-dns (~> 0.9.0)
net-ldap
net-ntp
net-ssh (~> 5.2)
nokogiri (~> 1.10.3)
nokogiri (~> 1.10.4)
oauth2 (~> 1.4)
octokit (~> 4.9)
omniauth (~> 1.8)
@ -1194,15 +1248,9 @@ DEPENDENCIES
omniauth_crowd (~> 2.2.0)
omniauth_openid_connect (~> 0.3.1)
org-ruby (~> 0.9.12)
peek (~> 1.0.1)
peek-gc (~> 0.0.2)
peek-mysql2 (~> 1.2.0)
peek-pg (~> 1.3.0)
peek-rblineprof (~> 0.2.0)
peek-redis (~> 1.2.0)
pg (~> 1.1)
premailer-rails (~> 1.9.7)
prometheus-client-mmap (~> 0.9.8)
prometheus-client-mmap (~> 0.9.10)
pry-byebug (~> 3.5.1)
pry-rails (~> 0.3.4)
puma (~> 3.12)
@ -1223,12 +1271,12 @@ DEPENDENCIES
rdoc (~> 6.0)
re2 (~> 1.1.1)
recaptcha (~> 4.11)
redis (~> 3.2)
redis (~> 4.0)
redis-namespace (~> 1.6.0)
redis-rails (~> 5.0.2)
request_store (~> 1.3)
responders (~> 2.0)
rouge (~> 3.5)
rouge (~> 3.7)
rqrcode-rails3 (~> 0.1.7)
rspec-parameterized
rspec-rails (~> 3.8.0)
@ -1240,7 +1288,7 @@ DEPENDENCIES
rubocop-performance (~> 1.1.0)
rubocop-rspec (~> 1.22.1)
ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 0.17.0)
ruby-prof (~> 1.0.0)
ruby-progressbar
ruby_parser (~> 3.8)
rubyzip (~> 1.2.2)
@ -1252,13 +1300,13 @@ DEPENDENCIES
selenium-webdriver (~> 3.141)
sentry-raven (~> 2.9)
settingslogic (~> 2.0.9)
sham_rack (~> 1.3.6)
shoulda-matchers (~> 4.0.1)
sidekiq (~> 5.2.7)
sidekiq-cron (~> 1.0)
simple_po_parser (~> 1.1.2)
simplecov (~> 0.16.1)
slack-notifier (~> 1.5.1)
snowplow-tracker (~> 0.6.1)
spring (~> 2.0.0)
spring-commands-rspec (~> 1.0.4)
sprockets (~> 3.7.0)
@ -1276,9 +1324,9 @@ DEPENDENCIES
unf (~> 0.1.4)
unicorn (~> 5.4.1)
unicorn-worker-killer (~> 0.4.4)
unleash (~> 0.1.5)
validates_hostname (~> 1.0.6)
version_sorter (~> 2.2.4)
virtus (~> 1.0.1)
vmstat (~> 2.3.0)
webmock (~> 3.5.1)
webpack-rails (~> 0.9.10)

@ -2,6 +2,8 @@ source 'https://rubygems.org'
gem 'rails', '5.2.3'
gem 'bootsnap', '~> 1.4'
# Improves copy-on-write performance for MRI
gem 'nakayoshi_fork', '~> 0.0.4'
@ -14,8 +16,7 @@ gem 'sprockets', '~> 3.7.0'
gem 'default_value_for', '~> 3.2.0'
# Supported DBs
gem 'mysql2', '~> 0.4.10', group: :mysql
gem 'pg', '~> 1.1', group: :postgres
gem 'pg', '~> 1.1'
gem 'rugged', '~> 0.28'
gem 'grape-path-helpers', '~> 1.1'
@ -53,6 +54,7 @@ gem 'gssapi', group: :kerberos
# Spam and anti-bot protection
gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
gem 'akismet', '~> 2.0'
gem 'invisible_captcha', '~> 0.12.1'
# Two-factor authentication
gem 'devise-two-factor', '~> 3.0.0'
@ -84,7 +86,10 @@ gem 'grape-entity', '~> 0.7.1'
gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
# GraphQL API
gem 'graphql', '~> 1.8.0'
gem 'graphql', '~> 1.9.11'
# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab-ce/issues/67293
# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
# https://gitlab.com/gitlab-org/gitlab-ce/issues/67263
gem 'graphiql-rails', '~> 1.4.10'
gem 'apollo_upload_server', '~> 2.0.0.beta3'
gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
@ -107,7 +112,7 @@ gem 'fog-aws', '~> 3.5'
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
# Also see config/initializers/fog_core_patch.rb.
gem 'fog-core', '= 2.1.0'
gem 'fog-google', '~> 1.8'
gem 'fog-google', '~> 1.9'
gem 'fog-local', '~> 0.6'
gem 'fog-openstack', '~> 1.0'
gem 'fog-rackspace', '~> 0.1.1'
@ -143,10 +148,10 @@ gem 'wikicloth', '0.8.1'
gem 'asciidoctor', '~> 2.0.10'
gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
gem 'asciidoctor-plantuml', '0.0.9'
gem 'rouge', '~> 3.5'
gem 'rouge', '~> 3.7'
gem 'truncato', '~> 0.7.11'
gem 'bootstrap_form', '~> 4.2.0'
gem 'nokogiri', '~> 1.10.3'
gem 'nokogiri', '~> 1.10.4'
gem 'escape_utils', '~> 1.1'
# Calendar rendering
@ -179,7 +184,7 @@ gem 'acts-as-taggable-on', '~> 6.0'
gem 'sidekiq', '~> 5.2.7'
gem 'sidekiq-cron', '~> 1.0'
gem 'redis-namespace', '~> 1.6.0'
gem 'gitlab-sidekiq-fetcher', '~> 0.4.0', require: 'sidekiq-reliable-fetch'
gem 'gitlab-sidekiq-fetcher', '0.5.2', require: 'sidekiq-reliable-fetch'
# Cron Parser
gem 'fugit', '~> 1.2.1'
@ -209,13 +214,13 @@ gem 'js_regex', '~> 3.1'
# User agent parsing
gem 'device_detector'
# Cache
gem 'redis-rails', '~> 5.0.2'
# Redis
gem 'redis', '~> 3.2'
gem 'redis', '~> 4.0'
gem 'connection_pool', '~> 2.0'
# Redis session store
gem 'redis-rails', '~> 5.0.2'
# Discord integration
gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
@ -223,7 +228,8 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
gem 'hipchat', '~> 1.5.0'
# Jira integration
gem 'jira-ruby', '~> 1.4'
gem 'jira-ruby', '~> 1.7'
gem 'atlassian-jwt', '~> 0.2.0'
# Flowdock integration
gem 'flowdock', '~> 0.7'
@ -241,7 +247,7 @@ gem 'asana', '~> 0.8.1'
gem 'ruby-fogbugz', '~> 0.2.1'
# Kubernetes integration
gem 'kubeclient', '~> 4.2.2'
gem 'kubeclient', '~> 4.4.0'
# Sanitize user input
gem 'sanitize', '~> 4.6'
@ -270,7 +276,7 @@ gem 'fast_blank'
# Parse time & duration
gem 'chronic', '~> 0.10.2'
gem 'chronic_duration', '~> 0.10.6'
gem 'gitlab_chronic_duration', '~> 0.10.6.1'
gem 'webpack-rails', '~> 0.9.10'
gem 'rack-proxy', '~> 0.6.0'
@ -283,7 +289,6 @@ gem 'font-awesome-rails', '~> 4.7'
gem 'gemojione', '~> 3.3'
gem 'gon', '~> 6.2'
gem 'request_store', '~> 1.3'
gem 'virtus', '~> 1.0.1'
gem 'base32', '~> 0.3.0'
gem "gitlab-license", "~> 1.0"
@ -294,7 +299,7 @@ gem 'sentry-raven', '~> 2.9'
gem 'premailer-rails', '~> 1.9.7'
# LabKit: Tracing and Correlation
gem 'gitlab-labkit', '~> 0.3.0'
gem 'gitlab-labkit', '~> 0.5'
# I18n
gem 'ruby_parser', '~> 3.8', require: false
@ -306,12 +311,8 @@ gem 'gettext', '~> 3.2.2', require: false, group: :development
gem 'batch-loader', '~> 1.4.0'
# Perf bar
gem 'peek', '~> 1.0.1'
gem 'peek-gc', '~> 0.0.2'
gem 'peek-mysql2', '~> 1.2.0', group: :mysql
gem 'peek-pg', '~> 1.3.0', group: :postgres
gem 'peek-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0'
# https://gitlab.com/gitlab-org/gitlab-ee/issues/13996
gem 'gitlab-peek', '~> 0.0.1', require: 'peek'
# Snowplow events tracking
gem 'snowplow-tracker', '~> 0.6.1'
@ -325,13 +326,14 @@ group :metrics do
gem 'influxdb', '~> 0.2', require: false
# Prometheus
gem 'prometheus-client-mmap', '~> 0.9.8'
gem 'prometheus-client-mmap', '~> 0.9.10'
gem 'raindrops', '~> 0.18'
end
group :development do
gem 'foreman', '~> 0.84.0'
gem 'brakeman', '~> 4.2', require: false
gem 'danger', '~> 6.0', require: false
gem 'letter_opener_web', '~> 1.3.4'
gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
@ -345,7 +347,6 @@ group :development do
end
group :development, :test do
gem 'bootsnap', '~> 1.4'
gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
gem 'pry-byebug', '~> 3.5.1', platform: :mri
gem 'pry-rails', '~> 0.3.4'
@ -384,15 +385,12 @@ group :development, :test do
gem 'haml_lint', '~> 0.31.0', require: false
gem 'simplecov', '~> 0.16.1', require: false
gem 'bundler-audit', '~> 0.5.0', require: false
gem 'mdl', '~> 0.5.0', require: false
gem 'benchmark-ips', '~> 2.3.0', require: false
gem 'license_finder', '~> 5.4', require: false
gem 'knapsack', '~> 1.17'
gem 'activerecord_sane_schema_dumper', '1.0'
gem 'stackprof', '~> 0.2.10', require: false
gem 'simple_po_parser', '~> 1.1.2', require: false
@ -406,7 +404,6 @@ group :test do
gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 3.5.1'
gem 'rails-controller-testing'
gem 'sham_rack', '~> 1.3.6'
gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 0.2.5'
gem 'rspec_junit_formatter'
@ -419,7 +416,7 @@ gem 'mail_room', '~> 0.9.1'
gem 'email_reply_trimmer', '~> 0.1'
gem 'html2text'
gem 'ruby-prof', '~> 0.17.0'
gem 'ruby-prof', '~> 1.0.0'
gem 'rbtrace', '~> 0.4', require: false
gem 'memory_profiler', '~> 0.9', require: false
gem 'benchmark-memory', '~> 0.1', require: false
@ -448,8 +445,8 @@ group :ed25519 do
gem 'bcrypt_pbkdf', '~> 1.0'
end
# Gitaly GRPC client
gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
# Gitaly GRPC protocol definitions
gem 'gitaly', '~> 1.58.0'
gem 'grpc', '~> 1.19.0'
@ -461,6 +458,7 @@ gem 'toml-rb', '~> 1.0.0', require: false
gem 'flipper', '~> 0.13.0'
gem 'flipper-active_record', '~> 0.13.0'
gem 'flipper-active_support_cache_store', '~> 0.13.0'
gem 'unleash', '~> 0.1.5'
# Structured logging
gem 'lograge', '~> 0.5'
@ -468,3 +466,6 @@ gem 'grape_logging', '~> 1.7'
# DNS Lookup
gem 'net-dns', '~> 0.9.0'
# Countries list
gem 'countries', '~> 3.0'

@ -41,8 +41,6 @@ GEM
activerecord-explain-analyze (0.1.0)
activerecord (>= 4)
pg
activerecord_sane_schema_dumper (1.0)
rails (>= 5, < 6)
activestorage (5.2.3)
actionpack (= 5.2.3)
activerecord (= 5.2.3)
@ -76,7 +74,8 @@ GEM
asciidoctor-plantuml (0.0.9)
asciidoctor (>= 1.5.6, < 3.0.0)
ast (2.4.0)
atomic (1.1.99)
atlassian-jwt (0.2.0)
jwt (~> 2.1.0)
attr_encrypted (3.1.0)
encryptor (~> 3.0.0)
attr_required (1.0.1)
@ -109,7 +108,7 @@ GEM
binding_ninja (0.2.3)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
bootsnap (1.4.1)
bootsnap (1.4.4)
msgpack (~> 1.0)
bootstrap_form (4.2.0)
actionpack (>= 5.0)
@ -145,23 +144,31 @@ GEM
childprocess (0.9.0)
ffi (~> 1.0, >= 1.0.11)
chronic (0.10.2)
chronic_duration (0.10.6)
numerizer (~> 0.1.1)
chunky_png (1.3.5)
citrus (3.0.2)
claide (1.0.3)
claide-plugins (0.9.2)
cork
nap
open4 (~> 1.3)
coderay (1.1.2)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
colored2 (3.1.2)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concord (0.1.5)
adamantium (~> 0.2.0)
equalizer (~> 0.0.9)
concurrent-ruby (1.1.5)
concurrent-ruby-ext (1.1.5)
concurrent-ruby (= 1.1.5)
connection_pool (2.2.2)
contracts (0.11.0)
cork (0.3.0)
colored2 (~> 3.1)
countries (3.0.0)
i18n_data (~> 0.8.0)
sixarm_ruby_unaccent (~> 1.1)
unicode_utils (~> 1.4)
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.4)
@ -169,6 +176,19 @@ GEM
css_parser (1.5.0)
addressable
daemons (1.2.6)
danger (6.0.9)
claide (~> 1.0)
claide-plugins (>= 0.9.2)
colored2 (~> 3.1)
cork (~> 0.1)
faraday (~> 0.9)
faraday-http-cache (~> 2.0)
git (~> 1.5)
kramdown (~> 2.0)
kramdown-parser-gfm (~> 1.0)
no_proxy_fix
octokit (~> 4.7)
terminal-table (~> 1)
database_cleaner (1.7.0)
debug_inspector (0.0.3)
debugger-ruby_core_source (1.3.8)
@ -251,6 +271,8 @@ GEM
railties (>= 3.0.0)
faraday (0.12.2)
multipart-post (>= 1.2, < 3)
faraday-http-cache (2.0.0)
faraday (~> 0.8)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
faraday_middleware-aws-signers-v4 (0.1.7)
@ -262,7 +284,7 @@ GEM
fast_blank (1.0.0)
fast_gettext (1.6.0)
ffaker (2.10.0)
ffi (1.10.0)
ffi (1.11.1)
flipper (0.13.0)
flipper-active_record (0.13.0)
activerecord (>= 3.2, < 6)
@ -288,7 +310,7 @@ GEM
excon (~> 0.58)
formatador (~> 0.2)
mime-types
fog-google (1.8.2)
fog-google (1.9.1)
fog-core (<= 2.1.0)
fog-json (~> 1.2)
fog-xml (~> 0.1.0)
@ -335,24 +357,30 @@ GEM
gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0)
rails (>= 3.2.0)
gitaly-proto (1.37.0)
git (1.5.0)
gitaly (1.58.0)
grpc (~> 1.0)
github-markup (1.7.0)
gitlab-labkit (0.3.0)
gitlab-labkit (0.5.2)
actionpack (~> 5)
activesupport (~> 5)
grpc (~> 1.19.0)
grpc (~> 1.19)
jaeger-client (~> 0.10)
opentracing (~> 0.4)
redis (> 3.0.0, < 5.0.0)
gitlab-license (1.0.0)
gitlab-markup (1.7.0)
gitlab-sidekiq-fetcher (0.4.0)
gitlab-peek (0.0.1)
railties (>= 4.0.0)
gitlab-sidekiq-fetcher (0.5.2)
sidekiq (~> 5)
gitlab-styles (2.7.0)
gitlab-styles (2.8.0)
rubocop (~> 0.69.0)
rubocop-gitlab-security (~> 0.1.0)
rubocop-performance (~> 1.1.0)
rubocop-rspec (~> 1.19)
gitlab_chronic_duration (0.10.6.1)
numerizer (~> 0.1.1)
gitlab_omniauth-ldap (2.1.1)
net-ldap (~> 0.16)
omniauth (~> 1.3)
@ -402,7 +430,7 @@ GEM
graphiql-rails (1.4.10)
railties
sprockets-rails
graphql (1.8.1)
graphql (1.9.11)
graphql-docs (1.6.0)
commonmarker (~> 0.16)
escape_utils (~> 1.2)
@ -461,18 +489,22 @@ GEM
httpclient (2.8.3)
i18n (1.6.0)
concurrent-ruby (~> 1.0)
i18n_data (0.8.0)
icalendar (2.4.1)
ice_nine (0.11.2)
influxdb (0.2.3)
cause
json
invisible_captcha (0.12.1)
rails (>= 3.2.0)
ipaddress (0.8.3)
jaeger-client (0.10.0)
opentracing (~> 0.3)
thrift
jaro_winkler (1.5.2)
jira-ruby (1.4.1)
jaro_winkler (1.5.3)
jira-ruby (1.7.1)
activesupport
atlassian-jwt
multipart-post
oauth (~> 0.5, >= 0.5.0)
jmespath (1.3.1)
@ -503,8 +535,10 @@ GEM
kgio (2.11.2)
knapsack (1.17.0)
rake
kramdown (1.17.0)
kubeclient (4.2.2)
kramdown (2.1.0)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
kubeclient (4.4.0)
http (~> 3.0)
recursive-open-struct (~> 1.0, >= 1.0.4)
rest-client (~> 2.0)
@ -539,10 +573,6 @@ GEM
mail_room (0.9.1)
marcel (0.3.3)
mimemagic (~> 0.3.2)
mdl (0.5.0)
kramdown (~> 1.12, >= 1.12.0)
mixlib-cli (~> 1.7, >= 1.7.0)
mixlib-config (~> 2.2, >= 2.2.1)
memoist (0.16.0)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
@ -552,29 +582,28 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2019.0331)
mimemagic (0.3.2)
mini_magick (4.8.0)
mini_magick (4.9.5)
mini_mime (1.0.1)
mini_portile2 (2.4.0)
minitest (5.11.3)
mixlib-cli (1.7.0)
mixlib-config (2.2.18)
tomlrb
msgpack (1.2.10)
msgpack (1.3.0)
multi_json (1.13.1)
multi_xml (0.6.0)
multipart-post (2.0.0)
murmurhash3 (0.1.6)
mustermann (1.0.3)
mustermann-grape (1.0.0)
mustermann (~> 1.0.0)
mysql2 (0.4.10)
nakayoshi_fork (0.0.4)
nap (1.1.0)
net-dns (0.9.0)
net-ldap (0.16.0)
net-ntp (2.1.3)
net-ssh (5.2.0)
netrc (0.11.0)
nio4r (2.3.1)
nokogiri (1.10.3)
no_proxy_fix (0.1.2)
nokogiri (1.10.4)
mini_portile2 (~> 2.4.0)
nokogumbo (1.5.0)
nokogiri
@ -650,6 +679,7 @@ GEM
addressable (~> 2.5)
omniauth (~> 1.3)
openid_connect (~> 1.1)
open4 (1.3.4)
openid_connect (1.1.6)
activemodel
attr_required (>= 1.0.0)
@ -670,29 +700,6 @@ GEM
parser (2.6.3.0)
ast (~> 2.4.0)
parslet (1.8.2)
peek (1.0.1)
concurrent-ruby (>= 0.9.0)
concurrent-ruby-ext (>= 0.9.0)
railties (>= 4.0.0)
peek-gc (0.0.2)
peek
peek-mysql2 (1.2.0)
concurrent-ruby
concurrent-ruby-ext
mysql2
peek
peek-pg (1.3.0)
concurrent-ruby
concurrent-ruby-ext
peek
pg
peek-rblineprof (0.2.0)
peek
rblineprof
peek-redis (1.2.0)
atomic (>= 1.0.0)
peek
redis
pg (1.1.4)
po_to_json (1.0.1)
json (>= 1.6.0)
@ -708,7 +715,7 @@ GEM
parser
unparser
procto (0.0.3)
prometheus-client-mmap (0.9.8)
prometheus-client-mmap (0.9.10)
pry (0.11.3)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
@ -763,7 +770,7 @@ GEM
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.4)
rails-html-sanitizer (1.2.0)
loofah (~> 2.2, >= 2.2.2)
rails-i18n (5.1.1)
i18n (>= 0.7, < 2)
@ -791,17 +798,17 @@ GEM
recaptcha (4.13.1)
json
recursive-open-struct (1.1.0)
redis (3.3.5)
redis (4.1.2)
redis-actionpack (5.0.2)
actionpack (>= 4.0, < 6)
redis-rack (>= 1, < 3)
redis-store (>= 1.1.0, < 2)
redis-activesupport (5.0.4)
redis-activesupport (5.0.7)
activesupport (>= 3, < 6)
redis-store (>= 1.3, < 2)
redis-namespace (1.6.0)
redis (>= 3.0.4)
redis-rack (2.0.4)
redis-rack (2.0.5)
rack (>= 1.5, < 3)
redis-store (>= 1.2, < 2)
redis-rails (5.0.2)
@ -827,7 +834,7 @@ GEM
retriable (3.1.2)
rinku (2.0.0)
rotp (2.1.2)
rouge (3.5.1)
rouge (3.7.0)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
@ -886,8 +893,8 @@ GEM
i18n
ruby-fogbugz (0.2.1)
crack (~> 0.4)
ruby-prof (0.17.0)
ruby-progressbar (1.10.0)
ruby-prof (1.0.0)
ruby-progressbar (1.10.1)
ruby-saml (1.7.2)
nokogiri (>= 1.5.10)
ruby_parser (3.13.1)
@ -895,7 +902,7 @@ GEM
rubyntlm (0.6.2)
rubypants (0.2.0)
rubyzip (1.2.2)
rugged (0.28.1)
rugged (0.28.3.1)
safe_yaml (1.0.4)
sanitize (4.6.6)
crass (~> 1.0.2)
@ -931,8 +938,6 @@ GEM
faraday (>= 0.7.6, < 1.0)
settingslogic (2.0.9)
sexp_processor (4.12.0)
sham_rack (1.3.6)
rack
shoulda-matchers (4.0.1)
activesupport (>= 4.2.0)
sidekiq (5.2.7)
@ -954,6 +959,7 @@ GEM
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
sixarm_ruby_unaccent (1.2.0)
slack-notifier (1.5.1)
snowplow-tracker (0.6.1)
contracts (~> 0.7, <= 0.11)
@ -986,6 +992,8 @@ GEM
ffi
sysexits (1.2.0)
temple (0.8.1)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
test-prof (0.2.5)
text (1.3.1)
thin (1.7.2)
@ -1002,7 +1010,6 @@ GEM
parslet (~> 1.8.0)
toml-rb (1.0.0)
citrus (~> 3.0, > 3.0)
tomlrb (1.2.8)
truncato (0.7.11)
htmlentities (~> 4.3.1)
nokogiri (>= 1.7.0, <= 2.0)
@ -1017,6 +1024,7 @@ GEM
unf_ext
unf_ext (0.0.7.5)
unicode-display_width (1.6.0)
unicode_utils (1.4.0)
unicorn (5.4.1)
kgio (~> 2.6)
raindrops (~> 0.7)
@ -1024,6 +1032,8 @@ GEM
get_process_mem (~> 0)
unicorn (>= 4, < 6)
uniform_notifier (1.10.0)
unleash (0.1.5)
murmurhash3 (~> 0.1.6)
unparser (0.4.5)
abstract_type (~> 0.0.7)
adamantium (~> 0.2.0)
@ -1079,7 +1089,6 @@ DEPENDENCIES
ace-rails-ap (~> 4.1.0)
acme-client (~> 2.0.2)
activerecord-explain-analyze (~> 0.1)
activerecord_sane_schema_dumper (= 1.0)
acts-as-taggable-on (~> 6.0)
addressable (~> 2.5.2)
akismet (~> 2.0)
@ -1088,6 +1097,7 @@ DEPENDENCIES
asciidoctor (~> 2.0.10)
asciidoctor-include-ext (~> 0.3.1)
asciidoctor-plantuml (= 0.0.9)
atlassian-jwt (~> 0.2.0)
attr_encrypted (~> 3.1.0)
awesome_print
aws-sdk
@ -1110,11 +1120,12 @@ DEPENDENCIES
carrierwave (~> 1.3)
charlock_holmes (~> 0.7.5)
chronic (~> 0.10.2)
chronic_duration (~> 0.10.6)
commonmarker (~> 0.17)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.0)
countries (~> 3.0)
creole (~> 0.5.0)
danger (~> 6.0)
database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.2.0)
default_value_for (~> 3.2.0)
@ -1145,7 +1156,7 @@ DEPENDENCIES
fog-aliyun (~> 0.3)
fog-aws (~> 3.5)
fog-core (= 2.1.0)
fog-google (~> 1.8)
fog-google (~> 1.9)
fog-local (~> 0.6)
fog-openstack (~> 1.0)
fog-rackspace (~> 0.1.1)
@ -1157,13 +1168,15 @@ DEPENDENCIES
gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3)
gitaly-proto (~> 1.37.0)
gitaly (~> 1.58.0)
github-markup (~> 1.7.0)
gitlab-labkit (~> 0.3.0)
gitlab-labkit (~> 0.5)
gitlab-license (~> 1.0)
gitlab-markup (~> 1.7.0)
gitlab-sidekiq-fetcher (~> 0.4.0)
gitlab-peek (~> 0.0.1)
gitlab-sidekiq-fetcher (= 0.5.2)
gitlab-styles (~> 2.7)
gitlab_chronic_duration (~> 0.10.6.1)
gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.2)
google-api-client (~> 0.23)
@ -1174,7 +1187,7 @@ DEPENDENCIES
grape-path-helpers (~> 1.1)
grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10)
graphql (~> 1.8.0)
graphql (~> 1.9.11)
graphql-docs (~> 1.6.0)
grpc (~> 1.19.0)
gssapi
@ -1189,32 +1202,31 @@ DEPENDENCIES
httparty (~> 0.16.4)
icalendar
influxdb (~> 0.2)
jira-ruby (~> 1.4)
invisible_captcha (~> 0.12.1)
jira-ruby (~> 1.7)
js_regex (~> 3.1)
json-schema (~> 2.8.0)
jwt (~> 2.1.0)
kaminari (~> 1.0)
knapsack (~> 1.17)
kubeclient (~> 4.2.2)
kubeclient (~> 4.4.0)
letter_opener_web (~> 1.3.4)
license_finder (~> 5.4)
licensee (~> 8.9)
lograge (~> 0.5)
loofah (~> 2.2)
mail_room (~> 0.9.1)
mdl (~> 0.5.0)
memory_profiler (~> 0.9)
method_source (~> 0.8)
mimemagic (~> 0.3.2)
mini_magick
minitest (~> 5.11.0)
mysql2 (~> 0.4.10)
nakayoshi_fork (~> 0.0.4)
net-dns (~> 0.9.0)
net-ldap
net-ntp
net-ssh (~> 5.2)
nokogiri (~> 1.10.3)
nokogiri (~> 1.10.4)
oauth2 (~> 1.4)
octokit (~> 4.9)
omniauth (~> 1.8)
@ -1236,15 +1248,9 @@ DEPENDENCIES
omniauth_crowd (~> 2.2.0)
omniauth_openid_connect (~> 0.3.1)
org-ruby (~> 0.9.12)
peek (~> 1.0.1)
peek-gc (~> 0.0.2)
peek-mysql2 (~> 1.2.0)
peek-pg (~> 1.3.0)
peek-rblineprof (~> 0.2.0)
peek-redis (~> 1.2.0)
pg (~> 1.1)
premailer-rails (~> 1.9.7)
prometheus-client-mmap (~> 0.9.8)
prometheus-client-mmap (~> 0.9.10)
pry-byebug (~> 3.5.1)
pry-rails (~> 0.3.4)
puma (~> 3.12)
@ -1265,12 +1271,12 @@ DEPENDENCIES
rdoc (~> 6.0)
re2 (~> 1.1.1)
recaptcha (~> 4.11)
redis (~> 3.2)
redis (~> 4.0)
redis-namespace (~> 1.6.0)
redis-rails (~> 5.0.2)
request_store (~> 1.3)
responders (~> 2.0)
rouge (~> 3.5)
rouge (~> 3.7)
rqrcode-rails3 (~> 0.1.7)
rspec-parameterized
rspec-rails (~> 3.8.0)
@ -1282,7 +1288,7 @@ DEPENDENCIES
rubocop-performance (~> 1.1.0)
rubocop-rspec (~> 1.22.1)
ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 0.17.0)
ruby-prof (~> 1.0.0)
ruby-progressbar
ruby_parser (~> 3.8)
rubyzip (~> 1.2.2)
@ -1294,7 +1300,6 @@ DEPENDENCIES
selenium-webdriver (~> 3.141)
sentry-raven (~> 2.9)
settingslogic (~> 2.0.9)
sham_rack (~> 1.3.6)
shoulda-matchers (~> 4.0.1)
sidekiq (~> 5.2.7)
sidekiq-cron (~> 1.0)
@ -1319,9 +1324,9 @@ DEPENDENCIES
unf (~> 0.1.4)
unicorn (~> 5.4.1)
unicorn-worker-killer (~> 0.4.4)
unleash (~> 0.1.5)
validates_hostname (~> 1.0.6)
version_sorter (~> 2.2.4)
virtus (~> 1.0.1)
vmstat (~> 2.3.0)
webmock (~> 3.5.1)
webpack-rails (~> 0.9.10)

@ -114,15 +114,6 @@
};
version = "0.1.0";
};
activerecord_sane_schema_dumper = {
dependencies = ["rails"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16jbf461wjaxyq26si5505wcj46mi23mii9hx4wjpva1zn9hz5m2";
type = "gem";
};
version = "1.0";
};
activestorage = {
dependencies = ["actionpack" "activerecord" "marcel"];
groups = ["default" "development" "test"];
@ -260,13 +251,16 @@
};
version = "2.4.0";
};
atomic = {
atlassian-jwt = {
dependencies = ["jwt"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kh9rvhjn4dndbfsk3yjq7alds6s2j70rc4k8wdwdyibab8a8gq9";
sha256 = "1ckfiiwv7dnifra7zhbggj96g0x0kzkv0x9n1is7lb86svlm7rjj";
type = "gem";
};
version = "1.1.99";
version = "0.2.0";
};
attr_encrypted = {
dependencies = ["encryptor"];
@ -438,12 +432,14 @@
};
bootsnap = {
dependencies = ["msgpack"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1amksyijp9hwpc2jr0yi45hpcp0qiz5r2h8rnf2wi1hdfw6m2hxh";
sha256 = "1jcc0x0l3jqap8r8l1j994ljh93c8hcppm59mjzpa0hdvprh23av";
type = "gem";
};
version = "1.4.1";
version = "1.4.4";
};
bootstrap_form = {
dependencies = ["actionpack" "activemodel"];
@ -576,15 +572,6 @@
};
version = "0.10.2";
};
chronic_duration = {
dependencies = ["numerizer"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k7sx3xqbrn6s4pishh2pgr4kw6fmw63h00lh503l66k8x0qvigs";
type = "gem";
};
version = "0.10.6";
};
chunky_png = {
source = {
remotes = ["https://rubygems.org"];
@ -601,6 +588,27 @@
};
version = "3.0.2";
};
claide = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
type = "gem";
};
version = "1.0.3";
};
claide-plugins = {
dependencies = ["cork" "nap" "open4"];
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bhw5j985qs48v217gnzva31rw5qvkf7qj8mhp73pcks0sy7isn7";
type = "gem";
};
version = "0.9.2";
};
coderay = {
source = {
remotes = ["https://rubygems.org"];
@ -618,6 +626,16 @@
};
version = "1.0.0";
};
colored2 = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
type = "gem";
};
version = "3.1.2";
};
commonmarker = {
dependencies = ["ruby-enum"];
source = {
@ -646,17 +664,6 @@
};
version = "1.1.5";
};
concurrent-ruby-ext = {
dependencies = ["concurrent-ruby"];
groups = ["default" "mysql" "postgres"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03ypsv2k581yv0b3f0hzvb3mq6mqj8jlbi32jmkj3k175vbc8hvz";
type = "gem";
};
version = "1.1.5";
};
connection_pool = {
source = {
remotes = ["https://rubygems.org"];
@ -675,6 +682,28 @@
};
version = "0.11.0";
};
cork = {
dependencies = ["colored2"];
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g6l780z1nj4s3jr11ipwcj8pjbibvli82my396m3y32w98ar850";
type = "gem";
};
version = "0.3.0";
};
countries = {
dependencies = ["i18n_data" "sixarm_ruby_unaccent" "unicode_utils"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0w278pjhwkbin7jpr7m47wac7gj5n4l2him9k2q4ngzq6rs2id7c";
type = "gem";
};
version = "3.0.0";
};
crack = {
dependencies = ["safe_yaml"];
source = {
@ -717,6 +746,17 @@
};
version = "1.2.6";
};
danger = {
dependencies = ["claide" "claide-plugins" "colored2" "cork" "faraday" "faraday-http-cache" "git" "kramdown" "kramdown-parser-gfm" "no_proxy_fix" "octokit" "terminal-table"];
groups = ["development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gyxfs7pkcg90llhpl2nwfqqcqi0qngqhk8gpyrffj6m0lm1m6wl";
type = "gem";
};
version = "6.0.9";
};
database_cleaner = {
source = {
remotes = ["https://rubygems.org"];
@ -1071,6 +1111,17 @@
};
version = "0.12.2";
};
faraday-http-cache = {
dependencies = ["faraday"];
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08j86fgcwl7z792qyijdsq680arzpfiydqd24ja405z2rbm7r2i0";
type = "gem";
};
version = "2.0.0";
};
faraday_middleware = {
dependencies = ["faraday"];
source = {
@ -1123,12 +1174,14 @@
version = "2.10.0";
};
ffi = {
groups = ["default" "development" "kerberos" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
type = "gem";
};
version = "1.10.0";
version = "1.11.1";
};
flipper = {
source = {
@ -1196,12 +1249,14 @@
};
fog-google = {
dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rxhcf2rhs8ml9j9xppz1yxgig3s1l5hm6yz582lqrs8bdmq028m";
sha256 = "1784xynmgvj1x9phy42nbd3fcgj040zps6wn7msi6vnj1sg4wpfy";
type = "gem";
};
version = "1.8.2";
version = "1.9.1";
};
fog-json = {
dependencies = ["fog-core" "multi_json"];
@ -1352,16 +1407,26 @@
};
version = "1.3.0";
};
gitaly-proto = {
git = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bf83icwypi3p3pd97vlqbnp3hvf31ncd440m9kh9y7x6yk74wyh";
type = "gem";
};
version = "1.5.0";
};
gitaly = {
dependencies = ["grpc"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j";
sha256 = "00di7rl1171rvpncxnfdpnmqc32kx9xmi6nwrn52k8cyrxzz2ixf";
type = "gem";
};
version = "1.37.0";
version = "1.58.0";
};
github-markup = {
source = {
@ -1372,15 +1437,15 @@
version = "1.7.0";
};
gitlab-labkit = {
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
type = "gem";
};
version = "0.3.0";
version = "0.5.2";
};
gitlab-license = {
source = {
@ -1400,16 +1465,27 @@
};
version = "1.7.0";
};
gitlab-peek = {
dependencies = ["railties"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0r5a1cjhw8dyz1az9rhqh252rvsjhvbs28wnmk0lnqkvyydip4ql";
type = "gem";
};
version = "0.0.1";
};
gitlab-sidekiq-fetcher = {
dependencies = ["sidekiq"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xaag97iclmiay8fx7dkiws8dsws2gi6l0axq4yljq5g7xm78qjr";
sha256 = "0dvx2klf1a1xyf15q34fn59291v6jwx3z315rxb2dmkvcr9873m1";
type = "gem";
};
version = "0.4.0";
version = "0.5.2";
};
gitlab-styles = {
dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rspec"];
@ -1417,10 +1493,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vxlvbq4jpq0cfjqippz9d3j73sq9qg3pna5pb0l8jr0rc0xs89y";
sha256 = "0kxn5j4gk2bidxfi3lnx8sl58kwh0fp89p75pbwwz3cd88d4vgsq";
type = "gem";
};
version = "2.7.0";
version = "2.8.0";
};
gitlab_chronic_duration = {
dependencies = ["numerizer"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rajna3aijqj8ap55xggawyh2xzh1vkrmzkjh3ja5x05qsf9csgs";
type = "gem";
};
version = "0.10.6.1";
};
gitlab_omniauth-ldap = {
dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
@ -1547,12 +1634,14 @@
version = "1.4.10";
};
graphql = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10bnl8yjyg5x6h787cfkpd5gphl5z5jblj8fc9lbmgk27n2knssl";
sha256 = "17gpvpv3zpmcbzgdx9skaaj5frxw12ja5hssk7xwzckna0v782vh";
type = "gem";
};
version = "1.8.1";
version = "1.9.11";
};
graphql-docs = {
dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
@ -1767,6 +1856,16 @@
};
version = "1.6.0";
};
i18n_data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v0cdwxiaqdwhaljd7z0fbx29q3r5kjl93xnjm5abi1x37645ncj";
type = "gem";
};
version = "0.8.0";
};
icalendar = {
source = {
remotes = ["https://rubygems.org"];
@ -1792,6 +1891,17 @@
};
version = "0.2.3";
};
invisible_captcha = {
dependencies = ["rails"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15510dh1vh7l2xs2a4956nhxpnf10168r62i497nmcbyqpp1df88";
type = "gem";
};
version = "0.12.1";
};
ipaddress = {
source = {
remotes = ["https://rubygems.org"];
@ -1814,19 +1924,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l";
sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
type = "gem";
};
version = "1.5.2";
version = "1.5.3";
};
jira-ruby = {
dependencies = ["activesupport" "multipart-post" "oauth"];
dependencies = ["activesupport" "atlassian-jwt" "multipart-post" "oauth"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14019mliqwcppj6qp2wdhh5gbvs2yh2idibag13m9a18ag965bhw";
sha256 = "0hb3645x0p3bkmqcgc9b2q4b5kn02wgmb03brx7ag1h5y79an4q5";
type = "gem";
};
version = "1.4.1";
version = "1.7.1";
};
jmespath = {
source = {
@ -1932,23 +2044,36 @@
version = "1.17.0";
};
kramdown = {
groups = ["default" "development" "test"];
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
type = "gem";
};
version = "1.17.0";
version = "2.1.0";
};
kramdown-parser-gfm = {
dependencies = ["kramdown"];
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
type = "gem";
};
version = "1.1.0";
};
kubeclient = {
dependencies = ["http" "recursive-open-struct" "rest-client"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10761kwhgclnf2lrdjspmxnw90z7i0l85inranfxc688ing0d5xn";
sha256 = "0gj6z90p3nm43bafbp97b78zi764gy88590g2y4lm8zcgk8k586r";
type = "gem";
};
version = "4.2.2";
version = "4.4.0";
};
launchy = {
dependencies = ["addressable"];
@ -2053,17 +2178,6 @@
};
version = "0.3.3";
};
mdl = {
dependencies = ["kramdown" "mixlib-cli" "mixlib-config"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i";
type = "gem";
};
version = "0.5.0";
};
memoist = {
source = {
remotes = ["https://rubygems.org"];
@ -2127,12 +2241,14 @@
version = "0.3.2";
};
mini_magick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1djxfs9rxw6q6vr6wb4ndxhp1vj1zbwb55s1kf6mz9bzgmswqg0n";
sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4";
type = "gem";
};
version = "4.8.0";
version = "4.9.5";
};
mini_mime = {
source = {
@ -2158,36 +2274,15 @@
};
version = "5.11.3";
};
mixlib-cli = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp";
type = "gem";
};
version = "1.7.0";
};
mixlib-config = {
dependencies = ["tomlrb"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb";
type = "gem";
};
version = "2.2.18";
};
msgpack = {
groups = ["default" "development" "test"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
sha256 = "1186lhwnxiw5ryv6dbxrsfy0fajfll2l95kf9pmca50iyiqi86zn";
type = "gem";
};
version = "1.2.10";
version = "1.3.0";
};
multi_json = {
source = {
@ -2213,6 +2308,16 @@
};
version = "2.0.0";
};
murmurhash3 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1szwcm44z5jg1l4dq73zyjw4rjin23ihkhrw5cpcjrb6cg8hd3y7";
type = "gem";
};
version = "0.1.6";
};
mustermann = {
source = {
remotes = ["https://rubygems.org"];
@ -2230,21 +2335,23 @@
};
version = "1.0.0";
};
mysql2 = {
nakayoshi_fork = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq";
sha256 = "1mj5czi7rxxmfq4v9qjz74lcqypvnjxhxqfs71zhb2rsfa97a6jg";
type = "gem";
};
version = "0.4.10";
version = "0.0.4";
};
nakayoshi_fork = {
nap = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mj5czi7rxxmfq4v9qjz74lcqypvnjxhxqfs71zhb2rsfa97a6jg";
sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
type = "gem";
};
version = "0.0.4";
version = "1.1.0";
};
net-dns = {
source = {
@ -2296,16 +2403,26 @@
};
version = "2.3.1";
};
no_proxy_fix = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "006dmdb640v1kq0sll3dnlwj1b0kpf3i1p27ygyffv8lpcqlr6sf";
type = "gem";
};
version = "0.1.2";
};
nokogiri = {
dependencies = ["mini_portile2"];
groups = ["default" "development" "mysql" "postgres" "test"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
type = "gem";
};
version = "1.10.3";
version = "1.10.4";
};
nokogumbo = {
dependencies = ["nokogiri"];
@ -2545,6 +2662,16 @@
};
version = "0.3.1";
};
open4 = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
type = "gem";
};
version = "1.3.4";
};
openid_connect = {
dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"];
groups = ["default"];
@ -2628,60 +2755,6 @@
};
version = "1.8.2";
};
peek = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "railties"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1998vcsli215d6qrn9821gr2qip60xki2p7n2dpn8i1n68hyshcn";
type = "gem";
};
version = "1.0.1";
};
peek-gc = {
dependencies = ["peek"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "094h3mr9q8wzbqsj0girpyjvj4bcxax8m438igp42n75xv0bhwi9";
type = "gem";
};
version = "0.0.2";
};
peek-mysql2 = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "mysql2" "peek"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0avmwm3yw0kx0z8gh4cpqj79jb5aicd0h3yzrcdfpzwks56h1k9z";
type = "gem";
};
version = "1.2.0";
};
peek-pg = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17yk8xrh7yh57wg6vi3s8km9qd9f910n94r511mdyqd7aizlfb7c";
type = "gem";
};
version = "1.3.0";
};
peek-rblineprof = {
dependencies = ["peek" "rblineprof"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ywk1gvsnhrkhqq2ibwsg7099kg5m2vs4nmzy0wf65kb0ywl0m9c";
type = "gem";
};
version = "0.2.0";
};
peek-redis = {
dependencies = ["atomic" "peek" "redis"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v91cni591d9wdrmvgam20gr3504x84mh1l95da4rz5a9436jm33";
type = "gem";
};
version = "1.2.0";
};
pg = {
groups = ["development" "postgres" "test"];
platforms = [];
@ -2741,10 +2814,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd";
sha256 = "0immyg4as0isyj2dcjf44n0avg1jv5kx1qk0asrgb5ayzwmjqg1k";
type = "gem";
};
version = "0.9.8";
version = "0.9.10";
};
pry = {
dependencies = ["coderay" "method_source"];
@ -2933,12 +3006,14 @@
};
rails-html-sanitizer = {
dependencies = ["loofah"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
type = "gem";
};
version = "1.0.4";
version = "1.2.0";
};
rails-i18n = {
dependencies = ["i18n" "railties"];
@ -3063,12 +3138,14 @@
version = "4.3.2";
};
redis = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv";
sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
type = "gem";
};
version = "3.3.5";
version = "4.1.2";
};
redis-actionpack = {
dependencies = ["actionpack" "redis-rack" "redis-store"];
@ -3081,12 +3158,14 @@
};
redis-activesupport = {
dependencies = ["activesupport" "redis-store"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5";
sha256 = "0y1df62gpqgy0yrlmgl05rp4kb0xvn0kylprhv1k32bs33dgpv62";
type = "gem";
};
version = "5.0.4";
version = "5.0.7";
};
redis-namespace = {
dependencies = ["redis"];
@ -3099,12 +3178,14 @@
};
redis-rack = {
dependencies = ["rack" "redis-store"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb";
sha256 = "03xgdmq4fh187aqlh8z05idbxrmgddcarlb8x1kw4wjfcsf5afqi";
type = "gem";
};
version = "2.0.4";
version = "2.0.5";
};
redis-rails = {
dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
@ -3206,10 +3287,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
sha256 = "0pv628bqalippv8vjs3003qpl3zab9g44vqzydgcwxd628r5k9sv";
type = "gem";
};
version = "3.5.1";
version = "3.7.0";
};
rqrcode = {
dependencies = ["chunky_png"];
@ -3401,22 +3482,24 @@
version = "0.2.1";
};
ruby-prof = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c";
sha256 = "0ac3mv3x468s820f6wnp5whzl59y5844wmdjg47a8mbp0kkmnn58";
type = "gem";
};
version = "0.17.0";
version = "1.0.0";
};
ruby-progressbar = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
type = "gem";
};
version = "1.10.0";
version = "1.10.1";
};
ruby-saml = {
dependencies = ["nokogiri"];
@ -3467,10 +3550,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
sha256 = "03w3k7j27kgzpcc3halkd3w0b677sny2lfwm2lwn2n1ac20dzjc6";
type = "gem";
};
version = "0.28.1";
version = "0.28.3.1";
};
safe_yaml = {
source = {
@ -3596,15 +3679,6 @@
};
version = "4.12.0";
};
sham_rack = {
dependencies = ["rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
type = "gem";
};
version = "1.3.6";
};
shoulda-matchers = {
dependencies = ["activesupport"];
groups = ["test"];
@ -3674,6 +3748,16 @@
};
version = "0.10.2";
};
sixarm_ruby_unaccent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11237b8r8p7fc0cpn04v9wa7ggzq0xm6flh10h1lnb6zgc3schq0";
type = "gem";
};
version = "1.2.0";
};
slack-notifier = {
source = {
remotes = ["https://rubygems.org"];
@ -3817,6 +3901,17 @@
};
version = "0.8.1";
};
terminal-table = {
dependencies = ["unicode-display_width"];
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
type = "gem";
};
version = "1.8.0";
};
test-prof = {
source = {
remotes = ["https://rubygems.org"];
@ -3910,16 +4005,6 @@
};
version = "1.0.0";
};
tomlrb = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv";
type = "gem";
};
version = "1.2.8";
};
truncato = {
dependencies = ["htmlentities" "nokogiri"];
source = {
@ -3990,6 +4075,16 @@
};
version = "1.6.0";
};
unicode_utils = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr";
type = "gem";
};
version = "1.4.0";
};
unicorn = {
dependencies = ["kgio" "raindrops"];
source = {
@ -4016,6 +4111,17 @@
};
version = "1.10.0";
};
unleash = {
dependencies = ["murmurhash3"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xs2ml9cwskddsxick3a9wnasy7q6wmc0dbydfcaspfl2cjmp1rk";
type = "gem";
};
version = "0.1.5";
};
unparser = {
dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
groups = ["default" "development" "test"];

@ -55,8 +55,8 @@ class GitLabRepo:
:param arch: amd64
:return: url of the debian package
"""
if self.owner != "gitlab-org" or self.repo not in ['gitlab-ce', 'gitlab-ee']:
raise Exception(f"don't know how to get deb_url for {self.url}")
if flavour not in ['ce', 'ee']:
raise Exception(f"don't know how to get deb_url for flavour {flavour}")
return f"https://packages.gitlab.com/gitlab/gitlab-{flavour}/packages" + \
f"/debian/stretch/gitlab-{flavour}_{version}-{flavour}.0_{arch}.deb/download.deb"
@ -106,7 +106,10 @@ def _flavour2gitlabrepo(flavour: str):
raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee")
owner = 'gitlab-org'
repo = 'gitlab-' + flavour
if flavour == 'ce':
repo = 'gitlab-foss'
else:
repo = 'gitlab'
return GitLabRepo(owner, repo)
@ -209,12 +212,8 @@ def update_gitaly():
for fn in ['go.mod', 'go.sum']:
os.unlink(gitaly_dir / fn)
# currently broken, as `gitaly.meta.position` returns
# pkgs/development/go-modules/generic/default.nix
# so update-source-version doesn't know where to update hashes
# _call_update_source_version('gitaly', gitaly_server_version)
gitaly_hash = r.get_git_hash(f"v{gitaly_server_version}")
click.echo(f"Please update gitaly/default.nix to version {gitaly_server_version} and hash {gitaly_hash}")
_call_update_source_version('gitaly', gitaly_server_version)
@cli.command('update-gitlab-shell')
@ -224,14 +223,42 @@ def update_gitlab_shell():
gitlab_shell_version = data['ce']['passthru']['GITLAB_SHELL_VERSION']
_call_update_source_version('gitlab-shell', gitlab_shell_version)
r = GitLabRepo('gitlab-org', 'gitlab-shell')
gitlab_shell_dir = pathlib.Path(__file__).parent / 'gitlab-shell'
for fn in ['Gemfile.lock', 'Gemfile']:
with open(gitlab_shell_dir / fn, 'w') as f:
f.write(r.get_file(fn, f"v{gitlab_shell_version}"))
for fn in ['go.mod', 'go.sum']:
with open(gitlab_shell_dir / fn, 'w') as f:
f.write(r.get_file(f"go/{fn}", f"v{gitlab_shell_version}"))
subprocess.check_output(['bundix'], cwd=gitlab_shell_dir)
subprocess.check_output(['vgo2nix'], cwd=gitlab_shell_dir)
for fn in ['go.mod', 'go.sum']:
os.unlink(gitlab_shell_dir / fn)
@cli.command('update-gitlab-workhorse')
def update_gitlab_workhorse():
"""Update gitlab-shell"""
"""Update gitlab-workhorse"""
data = _get_data_json()
gitlab_workhorse_version = data['ce']['passthru']['GITLAB_WORKHORSE_VERSION']
_call_update_source_version('gitlab-workhorse', gitlab_workhorse_version)
r = GitLabRepo('gitlab-org', 'gitlab-workhorse')
gitlab_workhorse_dir = pathlib.Path(__file__).parent / 'gitlab-workhorse'
for fn in ['go.mod', 'go.sum']:
with open(gitlab_workhorse_dir / fn, 'w') as f:
f.write(r.get_file(fn, f"v{gitlab_workhorse_version}"))
subprocess.check_output(['vgo2nix'], cwd=gitlab_workhorse_dir)
for fn in ['go.mod', 'go.sum']:
os.unlink(gitlab_workhorse_dir / fn)
@cli.command('update-all')
@click.pass_context

Loading…
Cancel
Save