blob: e4f80e8fc6f52ef7578391e244f8d1c967e3a249 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  | 
#!/usr/bin/env ruby
require ::File.expand_path('../lib/gitlab/popen', __dir__)
tasks = [
  %w[bundle exec bundle-audit check --update --ignore CVE-2016-4658 CVE-2017-5029],
  %w[bundle exec rake config_lint],
  %w[bundle exec rake flay],
  %w[bundle exec rake haml_lint],
  %w[bundle exec rake scss_lint],
  %w[bundle exec rake brakeman],
  %w[bundle exec license_finder],
  %w[yarn run eslint],
  %w[bundle exec rubocop --require rubocop-rspec],
  %w[scripts/lint-conflicts.sh]
]
failed_tasks = tasks.reduce({}) do |failures, task|
  output, status = Gitlab::Popen.popen(task)
  puts "Running: #{task.join(' ')}"
  puts output
  failures[task.join(' ')] = output unless status.zero?
  failures
end
if failed_tasks.empty?
  puts 'All static analyses passed successfully.'
else
  puts "\n===================================================\n\n"
  puts "Some static analyses failed:"
  failed_tasks.each do |failed_task, output|
    puts "\n**** #{failed_task} failed with the following error:\n\n"
    puts output
  end
  exit 1
end
  |