From 09d6ed9392d2af4754c68068edd99b18cf815da6 Mon Sep 17 00:00:00 2001 From: rutuja810 Date: Fri, 10 Apr 2026 13:50:59 +0530 Subject: [PATCH] CPD-13207: Add a retry of 60m for release download. Change: minor Purpose: maintenance --- .../s3_bucket_via_github_releases.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb b/lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb index caac00c8..4dd1d345 100644 --- a/lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb +++ b/lib/moonshot/artifact_repository/s3_bucket_via_github_releases.rb @@ -113,13 +113,18 @@ def upload_to_s3(file, key) # # @param version [String] Version to be downloaded # @param [String] Build file downloaded. - # @raise [RuntimeError] If the file fails to download correctly after 3 - # attempts. + # @raise [RuntimeError] If the file fails to download correctly within 60 minutes. def download_from_github(version) file_pattern = "*#{version}*.tar.gz" attempts = 0 - - Retriable.retriable on: RuntimeError do + retry_opts = { + tries: 360, # up to 360 x 10s = 60 minutes + max_elapsed_time: 60 * 60, # 60 minutes + base_interval: 10, + multiplier: 1 # constant interval, no exponential backoff + } + + Retriable.retriable(on: RuntimeError, **retry_opts) do # Make sure the directory is empty before downloading the release. FileUtils.rm(Dir.glob('*'))