summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-10-30 15:04:25 +0100
committerMatija Čupić <matteeyah@gmail.com>2018-10-30 15:06:00 +0100
commit94923328fdf2904e5a31ad8b9c40adcf15428bb2 (patch)
tree473bcc038dac0613ff14663271f2f7a46d734502
parent3cbea3b95d2d20de7b65ef0775959c1c153c4e15 (diff)
downloadgitlab-ce-94923328fdf2904e5a31ad8b9c40adcf15428bb2.tar.gz
Revert Seed based parallelization implementation
Revert "Add Build seed specs" This reverts commit 03bc722ea1797a6b2b09f2897215477f5b269632. Revert "Add build specs" This reverts commit c2d49565cf787c592c4f8bd9f24843babd2a6c9a. Revert "Refactor parallelization implementation" This reverts commit 72430483ded51e9a7d01ef70c3dce3dda174fac1. Revert "Implement POC for job parallelization" This reverts commit 44b740f99dfe6a4344c918fd4c94972aa6f9237e.
-rw-r--r--app/models/ci/build.rb6
-rw-r--r--lib/gitlab/ci/pipeline/seed/build.rb12
-rw-r--r--lib/gitlab/ci/yaml_processor.rb1
-rw-r--r--spec/lib/gitlab/ci/pipeline/seed/build_spec.rb59
-rw-r--r--spec/models/ci/build_spec.rb48
5 files changed, 4 insertions, 122 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 86569f9a9c3..cdfe8175a42 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -801,16 +801,10 @@ module Ci
variables.append(key: "CI_COMMIT_TAG", value: ref) if tag?
variables.append(key: "CI_PIPELINE_TRIGGERED", value: 'true') if trigger_request
variables.append(key: "CI_JOB_MANUAL", value: 'true') if action?
- variables.append(key: "CI_NODE_INDEX", value: node_index.to_s) if self.options&.include?(:parallel)
- variables.append(key: "CI_NODE_TOTAL", value: (self.options&.dig(:parallel) || 1).to_s)
variables.concat(legacy_variables)
end
end
- def node_index
- name.match(%r{(\d+)/\d+$}).captures[0]
- end
-
def gitlab_version_info
@gitlab_version_info ||= Gitlab::VersionInfo.parse(Gitlab::VERSION)
end
diff --git a/lib/gitlab/ci/pipeline/seed/build.rb b/lib/gitlab/ci/pipeline/seed/build.rb
index 4b1116ced92..6980b0b7aff 100644
--- a/lib/gitlab/ci/pipeline/seed/build.rb
+++ b/lib/gitlab/ci/pipeline/seed/build.rb
@@ -24,16 +24,6 @@ module Gitlab
end
end
- def parallel?
- !!@attributes.dig(:options, :parallel)
- end
-
- def parallelize_build
- total = @attributes[:options][:parallel]
- Array.new(total) { ::Ci::Build.new(attributes) }
- .each_with_index { |build, idx| build.name = "#{build.name} #{idx + 1}/#{total}" }
- end
-
def attributes
@attributes.merge(
pipeline: @pipeline,
@@ -48,7 +38,7 @@ module Gitlab
def to_resource
strong_memoize(:resource) do
- parallel? ? parallelize_build : ::Ci::Build.new(attributes)
+ ::Ci::Build.new(attributes)
end
end
end
diff --git a/lib/gitlab/ci/yaml_processor.rb b/lib/gitlab/ci/yaml_processor.rb
index 612d733ad49..a427aa30683 100644
--- a/lib/gitlab/ci/yaml_processor.rb
+++ b/lib/gitlab/ci/yaml_processor.rb
@@ -50,7 +50,6 @@ module Gitlab
after_script: job[:after_script],
environment: job[:environment],
retry: job[:retry],
- parallel: job[:parallel],
start_in: job[:start_in]
}.compact }
end
diff --git a/spec/lib/gitlab/ci/pipeline/seed/build_spec.rb b/spec/lib/gitlab/ci/pipeline/seed/build_spec.rb
index d75f385f368..fffa727c2ed 100644
--- a/spec/lib/gitlab/ci/pipeline/seed/build_spec.rb
+++ b/spec/lib/gitlab/ci/pipeline/seed/build_spec.rb
@@ -13,46 +13,6 @@ describe Gitlab::Ci::Pipeline::Seed::Build do
described_class.new(pipeline, attributes)
end
- describe '#parallel?' do
- context 'when build is not parallelized' do
- it 'should be false' do
- expect(subject.parallel?).to eq(false)
- end
- end
-
- context 'when build is parallelized' do
- before do
- attributes[:options] = { parallel: 5 }
- end
-
- it 'should be true' do
- expect(subject.parallel?).to eq(true)
- end
- end
- end
-
- describe '#parallelize_build' do
- let(:total) { 5 }
-
- before do
- attributes[:options] = { parallel: total }
- end
-
- it 'returns duplicated builds' do
- builds = subject.parallelize_build
-
- expect(builds.size).to eq(total)
- end
-
- it 'returns builds with indexed names' do
- builds = subject.parallelize_build
-
- base_name = builds.first.name.split(' ')[0]
- names = builds.map(&:name)
- expect(names).to all(match(%r{^#{base_name} \d+/\d+$}))
- end
- end
-
describe '#attributes' do
it 'returns hash attributes of a build' do
expect(subject.attributes).to be_a Hash
@@ -62,22 +22,9 @@ describe Gitlab::Ci::Pipeline::Seed::Build do
end
describe '#to_resource' do
- context 'when build is not parallelized' do
- it 'returns a valid build resource' do
- expect(subject.to_resource).to be_a(::Ci::Build)
- expect(subject.to_resource).to be_valid
- end
- end
-
- context 'when build is parallelized' do
- before do
- attributes[:options] = { parallel: 5 }
- end
-
- it 'returns a group of valid build resources' do
- expect(subject.to_resource).to all(be_a(::Ci::Build))
- expect(subject.to_resource).to all(be_valid)
- end
+ it 'returns a valid build resource' do
+ expect(subject.to_resource).to be_a(::Ci::Build)
+ expect(subject.to_resource).to be_valid
end
it 'memoizes a resource object' do
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb
index 41c3c37a7f2..a046541031e 100644
--- a/spec/models/ci/build_spec.rb
+++ b/spec/models/ci/build_spec.rb
@@ -1880,7 +1880,6 @@ describe Ci::Build do
{ key: 'CI_COMMIT_BEFORE_SHA', value: build.before_sha, public: true },
{ key: 'CI_COMMIT_REF_NAME', value: build.ref, public: true },
{ key: 'CI_COMMIT_REF_SLUG', value: build.ref_slug, public: true },
- { key: 'CI_NODE_TOTAL', value: '1', public: true },
{ key: 'CI_BUILD_REF', value: build.sha, public: true },
{ key: 'CI_BUILD_BEFORE_SHA', value: build.before_sha, public: true },
{ key: 'CI_BUILD_REF_NAME', value: build.ref, public: true },
@@ -2342,28 +2341,6 @@ describe Ci::Build do
end
end
- context 'when build is parallelized' do
- let(:total) { 5 }
- let(:index) { 3 }
-
- before do
- build.options[:parallel] = total
- build.name = "#{build.name} #{index}/#{total}"
- end
-
- it 'includes CI_NODE_INDEX' do
- is_expected.to include(
- { key: 'CI_NODE_INDEX', value: index.to_s, public: true }
- )
- end
-
- it 'includes correct CI_NODE_TOTAL' do
- is_expected.to include(
- { key: 'CI_NODE_TOTAL', value: total.to_s, public: true }
- )
- end
- end
-
describe 'variables ordering' do
context 'when variables hierarchy is stubbed' do
let(:build_pre_var) { { key: 'build', value: 'value', public: true } }
@@ -2470,31 +2447,6 @@ describe Ci::Build do
end
end
end
-
- describe '#node_index' do
- subject { build.send(:node_index) }
- let(:index) { 4 }
-
- context 'when build has only one index' do
- before do
- build.name = "#{build.name} #{index}/5"
- end
-
- it 'returns the index' do
- expect(subject).to eq(index.to_s)
- end
- end
-
- context 'when build has more than one one index' do
- before do
- build.name = "test_build 1/3 #{index}/5"
- end
-
- it 'returns the last index' do
- expect(subject).to eq(index.to_s)
- end
- end
- end
end
describe '#scoped_variables' do