diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-06-13 15:48:47 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-06-13 15:48:47 +0300 |
commit | 1039f101c9044be9d898ee1cf3fa31c67e48f349 (patch) | |
tree | 3acac5aa4dfb1a4c152990b8f6a576f9556fe43a | |
parent | e44502f6158be36ff78bf0ecc7e3af9a570a5e44 (diff) | |
parent | 93b555af85ff124820366855ed9b3a9fa719c272 (diff) |
Merge branch 'zj-commit-status-sortable-name' into 'master'
Handle legacy jobs without name
Closes #33403
See merge request !12118
-rw-r--r-- | app/models/commit_status.rb | 4 | ||||
-rw-r--r-- | changelogs/unreleased/zj-commit-status-sortable-name.yml | 4 | ||||
-rw-r--r-- | spec/models/ci/legacy_stage_spec.rb | 11 |
3 files changed, 17 insertions, 2 deletions
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index cb425706a9e..07cec63b939 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -112,7 +112,7 @@ class CommitStatus < ActiveRecord::Base end def group_name - name.gsub(/\d+[\s:\/\\]+\d+\s*/, '').strip + name.to_s.gsub(/\d+[\s:\/\\]+\d+\s*/, '').strip end def failed_but_allowed? @@ -156,7 +156,7 @@ class CommitStatus < ActiveRecord::Base end def sortable_name - name.split(/(\d+)/).map do |v| + name.to_s.split(/(\d+)/).map do |v| v =~ /\d+/ ? v.to_i : v end end diff --git a/changelogs/unreleased/zj-commit-status-sortable-name.yml b/changelogs/unreleased/zj-commit-status-sortable-name.yml new file mode 100644 index 00000000000..1be9ac6380f --- /dev/null +++ b/changelogs/unreleased/zj-commit-status-sortable-name.yml @@ -0,0 +1,4 @@ +--- +title: Handle nameless legacy jobs +merge_request: +author: diff --git a/spec/models/ci/legacy_stage_spec.rb b/spec/models/ci/legacy_stage_spec.rb index 48116c7e701..d43c33d3807 100644 --- a/spec/models/ci/legacy_stage_spec.rb +++ b/spec/models/ci/legacy_stage_spec.rb @@ -55,6 +55,17 @@ describe Ci::LegacyStage, :models do expect(stage.groups.map(&:name)) .to eq %w[aaaaa rspec spinach] end + + context 'when a name is nil on legacy pipelines' do + before do + pipeline.builds.first.update_attribute(:name, nil) + end + + it 'returns an array of three groups' do + expect(stage.groups.map(&:name)) + .to eq ['', 'aaaaa', 'rspec', 'spinach'] + end + end end describe '#statuses_count' do |