44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/env ruby
 | |
| 
 | |
| require ::File.expand_path('../lib/gitlab/popen', __dir__)
 | |
| 
 | |
| tasks = [
 | |
|   %w[bundle exec bundle-audit check --update],
 | |
|   %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],
 | |
|   %w[bundle exec rake gettext:lint],
 | |
|   %w[scripts/lint-changelog-yaml]
 | |
| ]
 | |
| 
 | |
| 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
 |