diff options
author | Simon Knox <psimyn@gmail.com> | 2018-02-07 20:05:38 +1100 |
---|---|---|
committer | Simon Knox <psimyn@gmail.com> | 2018-02-07 20:05:38 +1100 |
commit | 4e91d397833eb10e9eb64a48387c441be2922dfb (patch) | |
tree | 079cbe95e6b0ac773987dd2ccedb98b1ded9681b /scripts/lint-rugged | |
parent | b68e473e7bb2b64e1a36c54f9ced10ffe5a96763 (diff) | |
parent | 4457cf9d178dc9912fd9c16427ad81b389179d00 (diff) | |
download | gitlab-ce-snake-case.tar.gz |
Merge branch 'master' into snake-casesnake-case
Diffstat (limited to 'scripts/lint-rugged')
-rwxr-xr-x | scripts/lint-rugged | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/lint-rugged b/scripts/lint-rugged new file mode 100755 index 00000000000..cabd083e9f9 --- /dev/null +++ b/scripts/lint-rugged @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby + +ALLOWED = [ + # Can be fixed once Rugged is no longer used in production. Doesn't make Rugged calls. + 'config/initializers/8_metrics.rb', + + # Can be deleted once wiki's are fully (mandatory) migrated + 'config/initializers/gollum.rb', + + # Needs to be migrated, https://gitlab.com/gitlab-org/gitaly/issues/953 + 'lib/gitlab/bare_repository_import/repository.rb', + + # Needs to be migrated, https://gitlab.com/gitlab-org/gitaly/issues/954 + 'lib/tasks/gitlab/cleanup.rake', + + # The only place where Rugged code is still allowed in production + 'lib/gitlab/git/' +].freeze + +rugged_lines = IO.popen(%w[git grep -i -n rugged -- app config lib], &:read).lines +rugged_lines = rugged_lines.select { |l| /^[^:]*\.rb:/ =~ l } +rugged_lines = rugged_lines.reject { |l| l.start_with?(*ALLOWED) } +rugged_lines = rugged_lines.reject do |line| + code, _comment = line.split('# ', 2) + code !~ /rugged/i +end + +exit if rugged_lines.empty? + +puts "Using Rugged is only allowed in test and #{ALLOWED}\n\n" + +puts rugged_lines + +exit(false) |