Skip to content

Commit

Permalink
Only process retry queue on manual retries
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisBr committed Apr 2, 2024
1 parent a6fb09e commit 3bf623a
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions ruby/lib/minitest/queue/runner.rb
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ def retry_command

def run_command
require_worker_id!
if queue.retrying? || retry?
# if it's an automatic job retry we should process the main queue
if manual_retry?
if queue.expired?
abort! "The test run is too old and can't be retried"
end
Expand Down Expand Up @@ -671,9 +672,15 @@ def abort!(message, exit_status=1)
exit! exit_status # exit! is required to avoid minitest at_exit callback
end

def manual_retry?
# this env variable only exists on Buildkite so we should default to manual for backward compatibility
(retry? || queue.retrying?) &&
ENV.fetch('BUILDKITE_RETRY_TYPE', 'manual') == 'manual'
end

def retry?
ENV["BUILDKITE_RETRY_COUNT"].to_i > 0 ||
ENV["SEMAPHORE_PIPELINE_RERUN"] == "true"
ENV['BUILDKITE_RETRY_COUNT'].to_i > 0 ||
ENV['SEMAPHORE_PIPELINE_RERUN'] == 'true'
end
end
end
Expand Down

0 comments on commit 3bf623a

Please sign in to comment.