summaryrefslogtreecommitdiff
path: root/scripts/static-analysis
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/static-analysis')
-rwxr-xr-xscripts/static-analysis38
1 files changed, 28 insertions, 10 deletions
diff --git a/scripts/static-analysis b/scripts/static-analysis
index 602cd847a71..b7f7100c365 100755
--- a/scripts/static-analysis
+++ b/scripts/static-analysis
@@ -26,17 +26,35 @@ def emit_errors(static_analysis)
end
end
-tasks = [
- %w[bin/rake lint:all],
- %w[bundle exec license_finder],
- %w[yarn run eslint],
- %w[yarn run stylelint],
- %w[yarn run prettier-all],
- %w[bundle exec rubocop --parallel],
- %w[scripts/lint-conflicts.sh],
- %w[scripts/lint-rugged]
-]
+def jobs_to_run(node_index, node_total)
+ all_tasks = [
+ %w[bin/rake lint:all],
+ %w[bundle exec license_finder],
+ %w[yarn run eslint],
+ %w[yarn run stylelint],
+ %w[yarn run prettier-all],
+ %w[bundle exec rubocop --parallel],
+ %w[scripts/lint-conflicts.sh],
+ %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.run(tasks) do |cmd, &run|