diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-06-05 12:06:25 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-06-05 12:06:25 +0000 |
commit | 636d70381e3f5b2fe983127ece216e9bb6a07bb1 (patch) | |
tree | d3509ec87186f412a3490582241d6123384e3ec9 | |
parent | 9ca8d88b07406a51501999c1ea37dfdb0f697c06 (diff) | |
parent | 291dc5a21cbf171c14df230dcf056bee6d8bc6f8 (diff) | |
download | gitlab-ce-636d70381e3f5b2fe983127ece216e9bb6a07bb1.tar.gz |
Merge branch '46452-nomethoderror-undefined-method-previous_changes-for-nil-nilclass' into 'master'
Resolve "NoMethodError: undefined method `previous_changes' for nil:NilClass"
Closes #46452
See merge request gitlab-org/gitlab-ce!19190
3 files changed, 10 insertions, 1 deletions
diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb index 0e489ec5e86..0d1e2e758cd 100644 --- a/app/services/projects/update_service.rb +++ b/app/services/projects/update_service.rb @@ -38,7 +38,7 @@ module Projects end def run_auto_devops_pipeline? - return false if project.repository.gitlab_ci_yml || !project.auto_devops.previous_changes.include?('enabled') + return false if project.repository.gitlab_ci_yml || !project.auto_devops&.previous_changes&.include?('enabled') project.auto_devops.enabled? || (project.auto_devops.enabled.nil? && Gitlab::CurrentSettings.auto_devops_enabled?) end diff --git a/changelogs/unreleased/46452-nomethoderror-undefined-method-previous_changes-for-nil-nilclass.yml b/changelogs/unreleased/46452-nomethoderror-undefined-method-previous_changes-for-nil-nilclass.yml new file mode 100644 index 00000000000..89dee65f5a8 --- /dev/null +++ b/changelogs/unreleased/46452-nomethoderror-undefined-method-previous_changes-for-nil-nilclass.yml @@ -0,0 +1,5 @@ +--- +title: Check for nil AutoDevOps when saving project CI/CD settings. +merge_request: 19190 +author: +type: fixed diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb index 3e6073b9861..1f761bcbbad 100644 --- a/spec/services/projects/update_service_spec.rb +++ b/spec/services/projects/update_service_spec.rb @@ -275,6 +275,10 @@ describe Projects::UpdateService do it { is_expected.to eq(false) } end + context 'when auto devops is nil' do + it { is_expected.to eq(false) } + end + context 'when auto devops is explicitly enabled' do before do project.create_auto_devops!(enabled: true) |