Fix an uncaught throw in the ee_compat_check job
Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
parent
6a3049d589
commit
e69924c4c7
|
@ -76,9 +76,13 @@ module Gitlab
|
||||||
|
|
||||||
step(
|
step(
|
||||||
"Generating the patch against origin/master in #{patch_path}",
|
"Generating the patch against origin/master in #{patch_path}",
|
||||||
%W[git diff --binary origin/master > #{patch_path}]
|
%w[git diff --binary origin/master...HEAD]
|
||||||
) do |output, status|
|
) do |output, status|
|
||||||
throw(:halt_check, :ko) unless status.zero? && File.exist?(patch_path)
|
throw(:halt_check, :ko) unless status.zero?
|
||||||
|
|
||||||
|
File.write(patch_path, output)
|
||||||
|
|
||||||
|
throw(:halt_check, :ko) unless File.exist?(patch_path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -130,7 +134,15 @@ module Gitlab
|
||||||
step("Fetching CE/#{ce_branch}", %W[git fetch #{CE_REPO} #{ce_branch}])
|
step("Fetching CE/#{ce_branch}", %W[git fetch #{CE_REPO} #{ce_branch}])
|
||||||
step(
|
step(
|
||||||
"Checking if #{patch_path} applies cleanly to EE/master",
|
"Checking if #{patch_path} applies cleanly to EE/master",
|
||||||
%W[git apply --check --3way #{patch_path}]
|
# Don't use --check here because it can result in a 0-exit status even
|
||||||
|
# though the patch doesn't apply cleanly, e.g.:
|
||||||
|
# > git apply --check --3way foo.patch
|
||||||
|
# error: patch failed: lib/gitlab/ee_compat_check.rb:74
|
||||||
|
# Falling back to three-way merge...
|
||||||
|
# Applied patch to 'lib/gitlab/ee_compat_check.rb' with conflicts.
|
||||||
|
# > echo $?
|
||||||
|
# 0
|
||||||
|
%W[git apply --3way #{patch_path}]
|
||||||
) do |output, status|
|
) do |output, status|
|
||||||
puts output
|
puts output
|
||||||
unless status.zero?
|
unless status.zero?
|
||||||
|
@ -145,6 +157,7 @@ module Gitlab
|
||||||
status = 0 if failed_files.empty?
|
status = 0 if failed_files.empty?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
command(%w[git reset --hard])
|
||||||
status
|
status
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -292,7 +305,7 @@ module Gitlab
|
||||||
|
|
||||||
# In the CE repo
|
# In the CE repo
|
||||||
$ git fetch origin master
|
$ git fetch origin master
|
||||||
$ git diff --binary origin/master > #{ce_branch}.patch
|
$ git diff --binary origin/master...HEAD -- > #{ce_branch}.patch
|
||||||
|
|
||||||
# In the EE repo
|
# In the EE repo
|
||||||
$ git fetch origin master
|
$ git fetch origin master
|
||||||
|
|
Loading…
Reference in New Issue