Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks/gitlab/seed.rake')
-rw-r--r--lib/tasks/gitlab/seed.rake54
1 files changed, 36 insertions, 18 deletions
diff --git a/lib/tasks/gitlab/seed.rake b/lib/tasks/gitlab/seed.rake
index 7b9c57b1876..8437ae0a31e 100644
--- a/lib/tasks/gitlab/seed.rake
+++ b/lib/tasks/gitlab/seed.rake
@@ -2,31 +2,37 @@
namespace :gitlab do
namespace :seed do
- desc "GitLab | Seed | Seeds issues"
- task :issues, [:project_full_path, :backfill_weeks, :average_issues_per_week] => :environment do |t, args|
- args.with_defaults(backfill_weeks: 5, average_issues_per_week: 2)
+ def projects_from_args(args)
+ full_path = args.project_full_path
- projects =
- if args.project_full_path
- project = Project.find_by_full_path(args.project_full_path)
+ if full_path
+ project = Project.find_by_full_path(full_path)
- unless project
- error_message = "Project '#{args.project_full_path}' does not exist!"
- potential_projects = Project.search(args.project_full_path)
+ unless project
+ error_message = "Project '#{full_path}' does not exist!"
+ potential_projects = Project.search(full_path)
- if potential_projects.present?
- error_message += " Did you mean '#{potential_projects.first.full_path}'?"
- end
-
- puts error_message.color(:red)
- exit 1
+ if potential_projects.present?
+ error_message += " Did you mean '#{potential_projects.first.full_path}'?"
end
- [project]
- else
- Project.not_mass_generated.find_each
+ puts error_message.color(:red)
+ exit 1
end
+ [project]
+ else
+ scope = Project.respond_to?(:not_mass_generated) ? Project.not_mass_generated : Project
+ scope.find_each
+ end
+ end
+
+ desc "GitLab | Seed | Seeds issues"
+ task :issues, [:project_full_path, :backfill_weeks, :average_issues_per_week] => :environment do |t, args|
+ args.with_defaults(backfill_weeks: 5, average_issues_per_week: 2)
+
+ projects = projects_from_args(args)
+
projects.each do |project|
puts "\nSeeding issues for the '#{project.full_path}' project"
seeder = Quality::Seeders::Issues.new(project: project)
@@ -70,5 +76,17 @@ namespace :gitlab do
puts "\n#{epics} epics created!"
end
end
+
+ desc "GitLab | Seed | Seed a project with vulnerabilities"
+ task :vulnerabilities, [:project_full_path] => :environment do |t, args|
+ projects = projects_from_args(args)
+
+ projects.each do |project|
+ puts "\nSeeding vulnerabilities for the '#{project.full_path}' project"
+ seeder = Quality::Seeders::Vulnerabilities.new(project)
+ seeder.seed!
+ puts "\nDone."
+ end
+ end
end
end