Commit 2e9372b5 authored by Rémy Coutable's avatar Rémy Coutable

Add support for basic parallelization of the 'static-analysis' job

Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent 0e7baa35
...@@ -26,7 +26,8 @@ def emit_errors(static_analysis) ...@@ -26,7 +26,8 @@ def emit_errors(static_analysis)
end end
end end
tasks = [ def jobs_to_run(node_index, node_total)
all_tasks = [
%w[bin/rake lint:all], %w[bin/rake lint:all],
%w[bundle exec license_finder], %w[bundle exec license_finder],
%w[yarn run eslint], %w[yarn run eslint],
...@@ -35,8 +36,25 @@ tasks = [ ...@@ -35,8 +36,25 @@ tasks = [
%w[bundle exec rubocop --parallel], %w[bundle exec rubocop --parallel],
%w[scripts/lint-conflicts.sh], %w[scripts/lint-conflicts.sh],
%w[scripts/lint-rugged] %w[scripts/lint-rugged]
] ]
case node_total
when 1
all_tasks
when 2
rake_lint_all, *rest_jobs = all_tasks
case node_index
when 1
[rake_lint_all]
else
rest_jobs
end
else
raise "Parallelization > 2 (currently set to #{node_total}) isn't supported yet!"
end
end
tasks = jobs_to_run((ENV['CI_NODE_INDEX'] || 1).to_i, (ENV['CI_NODE_TOTAL'] || 1).to_i)
static_analysis = Gitlab::Popen::Runner.new static_analysis = Gitlab::Popen::Runner.new
static_analysis.run(tasks) do |cmd, &run| static_analysis.run(tasks) do |cmd, &run|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment