summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Azzopardi <sazzopardi@gitlab.com>2018-11-13 07:13:06 +0000
committerSteve Azzopardi <sazzopardi@gitlab.com>2018-11-13 07:13:06 +0000
commita0b63819e030cdb8dfb79d732c5a6e6eeb5caf76 (patch)
tree6ecb1898f4c6f6988c22561e1e34558993ab0b2c
parent69f85f496c52de35bc6b6fda7ac8526be807fd11 (diff)
parent329d5e9411aa13c65e7978a13f0248b2db262077 (diff)
downloadgitlab-ce-a0b63819e030cdb8dfb79d732c5a6e6eeb5caf76.tar.gz
Merge branch '11-5-stable-prepare-rc6' into '11-5-stable'
Prepare 11.5 RC6 release See merge request gitlab-org/gitlab-ce!22997
-rw-r--r--app/models/concerns/deployable.rb7
-rw-r--r--app/models/merge_request_diff.rb2
-rw-r--r--changelogs/unreleased/fix-tags-for-envs.yml5
-rw-r--r--spec/models/merge_request_spec.rb4
-rw-r--r--spec/services/ci/create_pipeline_service_spec.rb13
5 files changed, 23 insertions, 8 deletions
diff --git a/app/models/concerns/deployable.rb b/app/models/concerns/deployable.rb
index f4f1989f0a9..85db01af18d 100644
--- a/app/models/concerns/deployable.rb
+++ b/app/models/concerns/deployable.rb
@@ -13,17 +13,14 @@ module Deployable
name: expanded_environment_name
)
- environment.deployments.create!(
+ create_deployment!(
project_id: environment.project_id,
environment: environment,
ref: ref,
tag: tag,
sha: sha,
user: user,
- deployable: self,
- on_stop: on_stop).tap do |_|
- self.reload # Reload relationships
- end
+ on_stop: on_stop)
end
end
end
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb
index 74583af1a29..6f1beede6f9 100644
--- a/app/models/merge_request_diff.rb
+++ b/app/models/merge_request_diff.rb
@@ -142,7 +142,7 @@ class MergeRequestDiff < ActiveRecord::Base
end
def commits_by_shas(shas)
- return [] unless shas.present?
+ return MergeRequestDiffCommit.none unless shas.present?
merge_request_diff_commits.where(sha: shas)
end
diff --git a/changelogs/unreleased/fix-tags-for-envs.yml b/changelogs/unreleased/fix-tags-for-envs.yml
new file mode 100644
index 00000000000..633788ff6d8
--- /dev/null
+++ b/changelogs/unreleased/fix-tags-for-envs.yml
@@ -0,0 +1,5 @@
+---
+title: Do not reload self on hooks when creating deployment
+merge_request:
+author:
+type: fixed
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index c7202b481d3..131db6a5ff9 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -2651,6 +2651,10 @@ describe MergeRequest do
describe '#includes_any_commits?' do
it 'returns false' do
+ expect(subject.includes_any_commits?([])).to be_falsey
+ end
+
+ it 'returns false' do
expect(subject.includes_any_commits?([Gitlab::Git::BLANK_SHA])).to be_falsey
end
diff --git a/spec/services/ci/create_pipeline_service_spec.rb b/spec/services/ci/create_pipeline_service_spec.rb
index 5c87ed5c3c6..193148d403a 100644
--- a/spec/services/ci/create_pipeline_service_spec.rb
+++ b/spec/services/ci/create_pipeline_service_spec.rb
@@ -387,15 +387,24 @@ describe Ci::CreatePipelineService do
context 'with environment' do
before do
- config = YAML.dump(deploy: { environment: { name: "review/$CI_COMMIT_REF_NAME" }, script: 'ls' })
+ config = YAML.dump(
+ deploy: {
+ environment: { name: "review/$CI_COMMIT_REF_NAME" },
+ script: 'ls',
+ tags: ['hello']
+ })
+
stub_ci_pipeline_yaml_file(config)
end
- it 'creates the environment' do
+ it 'creates the environment with tags' do
result = execute_service
expect(result).to be_persisted
expect(Environment.find_by(name: "review/master")).to be_present
+ expect(result.builds.first.tag_list).to contain_exactly('hello')
+ expect(result.builds.first.deployment).to be_persisted
+ expect(result.builds.first.deployment.deployable).to be_a(Ci::Build)
end
end