mirror of
https://github.com/discourse/discourse.git
synced 2025-05-29 01:31:35 +08:00
DEV: Add retry logic to plugin:install_all_official
(#19551)
This task sometimes fails in CI due to temporary network issues. Retrying twice should help resolve those situations without needing to manually restart the job.
This commit is contained in:
@ -32,9 +32,16 @@ task 'plugin:install_all_official' do
|
||||
repo += ".git"
|
||||
end
|
||||
|
||||
status = system("git clone #{repo} #{path}")
|
||||
unless status
|
||||
abort("Failed to clone #{repo}")
|
||||
attempts = 0
|
||||
begin
|
||||
attempts += 1
|
||||
system("git clone #{repo} #{path}", exception: true)
|
||||
rescue StandardError
|
||||
if attempts >= 3
|
||||
abort("Failed to clone #{repo}")
|
||||
end
|
||||
STDERR.puts "Failed to clone #{repo}... trying again..."
|
||||
retry
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user