summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-07-18 20:59:01 +0900
committerShinya Maeda <shinya@gitlab.com>2018-07-18 20:59:01 +0900
commit26578902d097979ca32a6453a33d699209077aa5 (patch)
tree494aa094f7cefd6cb4ea3211d19ed71ba8fbb589
parent47dfdc732e850fd1390d25d50b1ef7a99491770a (diff)
downloadgitlab-ce-26578902d097979ca32a6453a33d699209077aa5.tar.gz
Add fixtures which can export all kind of reports (new/resolved/exisiting)
-rw-r--r--app/models/ci/job_artifact.rb2
-rw-r--r--app/presenters/ci/build_presenter.rb2
-rw-r--r--db/fixtures/development/14_pipelines.rb37
-rw-r--r--spec/fixtures/junit/junit_feature_0_3.xml.gzbin0 -> 541 bytes
-rw-r--r--spec/fixtures/junit/junit_feature_1_3.xml.gzbin0 -> 522 bytes
-rw-r--r--spec/fixtures/junit/junit_feature_2_3.xml.gzbin0 -> 359 bytes
-rw-r--r--spec/fixtures/junit/junit_master_0_3.xml.gzbin0 -> 592 bytes
-rw-r--r--spec/fixtures/junit/junit_master_1_3.xml.gzbin0 -> 367 bytes
-rw-r--r--spec/fixtures/junit/junit_master_2_3.xml.gzbin0 -> 360 bytes
9 files changed, 25 insertions, 16 deletions
diff --git a/app/models/ci/job_artifact.rb b/app/models/ci/job_artifact.rb
index e7ab74cbd3d..414b6c4be89 100644
--- a/app/models/ci/job_artifact.rb
+++ b/app/models/ci/job_artifact.rb
@@ -69,7 +69,7 @@ module Ci
file_format_adapter_class.new(stream).each_blob(&blk)
end
end
-
+
private
def file_format_adapter_class
diff --git a/app/presenters/ci/build_presenter.rb b/app/presenters/ci/build_presenter.rb
index c4e0baa0603..6b52c91749f 100644
--- a/app/presenters/ci/build_presenter.rb
+++ b/app/presenters/ci/build_presenter.rb
@@ -67,7 +67,7 @@ module Ci
end
def config_artifacts_reports_junit(junit)
- { name: 'junit.xml', paths: junit, type: :junit, format: :gzip }
+ { name: 'junit.xml', paths: junit, type: :junit, format: :gzip, when: :always }
end
end
end
diff --git a/db/fixtures/development/14_pipelines.rb b/db/fixtures/development/14_pipelines.rb
index 7aa87babaa8..d602b0309e8 100644
--- a/db/fixtures/development/14_pipelines.rb
+++ b/db/fixtures/development/14_pipelines.rb
@@ -106,7 +106,8 @@ class Gitlab::Seeder::Pipelines
# (id required), that is why we need `#tap` method instead of passing
# block directly to `Ci::Build#create!`.
- setup_artifacts(build)
+ setup_artifacts(build) if %w[build test].include?(build.stage)
+ setup_test_reports(build) if %w[test].include?(build.stage)
setup_build_log(build)
build.project.environments.
@@ -117,8 +118,6 @@ class Gitlab::Seeder::Pipelines
end
def setup_artifacts(build)
- return unless %w[build test].include?(build.stage)
-
artifacts_cache_file(artifacts_archive_path) do |file|
build.job_artifacts.build(project: build.project, file_type: :archive, file_format: :zip, file: file)
end
@@ -126,16 +125,20 @@ class Gitlab::Seeder::Pipelines
artifacts_cache_file(artifacts_metadata_path) do |file|
build.job_artifacts.build(project: build.project, file_type: :archive_metadata, file_format: :gzip, file: file)
end
+ end
- return unless %w[test].include?(build.stage)
-
+ def setup_test_reports(build)
if build.ref == build.project.default_branch
- artifacts_cache_file(artifacts_junit_master_path) do |file|
- build.job_artifacts.build(project: build.project, file_type: :junit, file_format: :gzip, file: file)
+ artifacts_junit_master_path(build.name).try do |path|
+ artifacts_cache_file(path) do |file|
+ build.job_artifacts.build(project: build.project, file_type: :junit, file_format: :gzip, file: file)
+ end
end
else
- artifacts_cache_file(artifacts_junit_feature_path) do |file|
- build.job_artifacts.build(project: build.project, file_type: :junit, file_format: :gzip, file: file)
+ artifacts_junit_feature_path(build.name).try do |path|
+ artifacts_cache_file(path) do |file|
+ build.job_artifacts.build(project: build.project, file_type: :junit, file_format: :gzip, file: file)
+ end
end
end
end
@@ -179,12 +182,18 @@ class Gitlab::Seeder::Pipelines
Rails.root + 'spec/fixtures/ci_build_artifacts_metadata.gz'
end
- def artifacts_junit_master_path
- Rails.root + 'spec/fixtures/junit/junit_master.xml.gz'
+ def artifacts_junit_master_path(build_name)
+ index, total = build_name.scan(/ (\d) (\d)/).first
+ return unless index && total
+
+ Rails.root + "spec/fixtures/junit/junit_master_#{index}_#{total}.xml.gz"
end
- def artifacts_junit_feature_path
- Rails.root + 'spec/fixtures/junit/junit_feature.xml.gz'
+ def artifacts_junit_feature_path(build_name)
+ index, total = build_name.scan(/ (\d) (\d)/).first
+ return unless index && total
+
+ Rails.root + "spec/fixtures/junit/junit_feature_#{index}_#{total}.xml.gz"
end
def artifacts_cache_file(file_path)
@@ -198,7 +207,7 @@ class Gitlab::Seeder::Pipelines
end
Gitlab::Seeder.quiet do
- Project.all.sample(1).each do |project|
+ Project.all.sample(5).each do |project|
project_builds = Gitlab::Seeder::Pipelines.new(project)
project_builds.seed!
end
diff --git a/spec/fixtures/junit/junit_feature_0_3.xml.gz b/spec/fixtures/junit/junit_feature_0_3.xml.gz
new file mode 100644
index 00000000000..a41d4f3b9e2
--- /dev/null
+++ b/spec/fixtures/junit/junit_feature_0_3.xml.gz
Binary files differ
diff --git a/spec/fixtures/junit/junit_feature_1_3.xml.gz b/spec/fixtures/junit/junit_feature_1_3.xml.gz
new file mode 100644
index 00000000000..68091f62a05
--- /dev/null
+++ b/spec/fixtures/junit/junit_feature_1_3.xml.gz
Binary files differ
diff --git a/spec/fixtures/junit/junit_feature_2_3.xml.gz b/spec/fixtures/junit/junit_feature_2_3.xml.gz
new file mode 100644
index 00000000000..ca740a35084
--- /dev/null
+++ b/spec/fixtures/junit/junit_feature_2_3.xml.gz
Binary files differ
diff --git a/spec/fixtures/junit/junit_master_0_3.xml.gz b/spec/fixtures/junit/junit_master_0_3.xml.gz
new file mode 100644
index 00000000000..187f2cba63b
--- /dev/null
+++ b/spec/fixtures/junit/junit_master_0_3.xml.gz
Binary files differ
diff --git a/spec/fixtures/junit/junit_master_1_3.xml.gz b/spec/fixtures/junit/junit_master_1_3.xml.gz
new file mode 100644
index 00000000000..405c695cea0
--- /dev/null
+++ b/spec/fixtures/junit/junit_master_1_3.xml.gz
Binary files differ
diff --git a/spec/fixtures/junit/junit_master_2_3.xml.gz b/spec/fixtures/junit/junit_master_2_3.xml.gz
new file mode 100644
index 00000000000..aca6bcb8e18
--- /dev/null
+++ b/spec/fixtures/junit/junit_master_2_3.xml.gz
Binary files differ