diff options
-rw-r--r-- | app/models/ci/job_artifact.rb | 2 | ||||
-rw-r--r-- | app/presenters/ci/build_presenter.rb | 2 | ||||
-rw-r--r-- | db/fixtures/development/14_pipelines.rb | 37 | ||||
-rw-r--r-- | spec/fixtures/junit/junit_feature_0_3.xml.gz | bin | 0 -> 541 bytes | |||
-rw-r--r-- | spec/fixtures/junit/junit_feature_1_3.xml.gz | bin | 0 -> 522 bytes | |||
-rw-r--r-- | spec/fixtures/junit/junit_feature_2_3.xml.gz | bin | 0 -> 359 bytes | |||
-rw-r--r-- | spec/fixtures/junit/junit_master_0_3.xml.gz | bin | 0 -> 592 bytes | |||
-rw-r--r-- | spec/fixtures/junit/junit_master_1_3.xml.gz | bin | 0 -> 367 bytes | |||
-rw-r--r-- | spec/fixtures/junit/junit_master_2_3.xml.gz | bin | 0 -> 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 Binary files differnew file mode 100644 index 00000000000..a41d4f3b9e2 --- /dev/null +++ b/spec/fixtures/junit/junit_feature_0_3.xml.gz diff --git a/spec/fixtures/junit/junit_feature_1_3.xml.gz b/spec/fixtures/junit/junit_feature_1_3.xml.gz Binary files differnew file mode 100644 index 00000000000..68091f62a05 --- /dev/null +++ b/spec/fixtures/junit/junit_feature_1_3.xml.gz diff --git a/spec/fixtures/junit/junit_feature_2_3.xml.gz b/spec/fixtures/junit/junit_feature_2_3.xml.gz Binary files differnew file mode 100644 index 00000000000..ca740a35084 --- /dev/null +++ b/spec/fixtures/junit/junit_feature_2_3.xml.gz diff --git a/spec/fixtures/junit/junit_master_0_3.xml.gz b/spec/fixtures/junit/junit_master_0_3.xml.gz Binary files differnew file mode 100644 index 00000000000..187f2cba63b --- /dev/null +++ b/spec/fixtures/junit/junit_master_0_3.xml.gz diff --git a/spec/fixtures/junit/junit_master_1_3.xml.gz b/spec/fixtures/junit/junit_master_1_3.xml.gz Binary files differnew file mode 100644 index 00000000000..405c695cea0 --- /dev/null +++ b/spec/fixtures/junit/junit_master_1_3.xml.gz diff --git a/spec/fixtures/junit/junit_master_2_3.xml.gz b/spec/fixtures/junit/junit_master_2_3.xml.gz Binary files differnew file mode 100644 index 00000000000..aca6bcb8e18 --- /dev/null +++ b/spec/fixtures/junit/junit_master_2_3.xml.gz |