diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 44af62efb9766d91b68fa5c2a5bd009be5920d88..e261023bc9ebe27fcf0f2333faacfb55d0829cdf 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -220,6 +220,10 @@ module Ci next unless build.project build.deployment&.drop + end + + after_transition any => [:failed] do |build| + next unless build.project if build.retry_failure? begin diff --git a/app/models/clusters/applications/ingress.rb b/app/models/clusters/applications/ingress.rb index 8f8790585a323e8953f2b6a8d0d1612508eff79e..7799f069742db5104c36ebe0a3d781950410a33a 100644 --- a/app/models/clusters/applications/ingress.rb +++ b/app/models/clusters/applications/ingress.rb @@ -23,7 +23,7 @@ module Clusters FETCH_IP_ADDRESS_DELAY = 30.seconds state_machine :status do - before_transition any => [:installed] do |application| + after_transition any => [:installed] do |application| application.run_after_commit do ClusterWaitForIngressIpAddressWorker.perform_in( FETCH_IP_ADDRESS_DELAY, application.name, application.id) diff --git a/app/models/clusters/applications/knative.rb b/app/models/clusters/applications/knative.rb index 0c72d7d83406b6eeb0e05bc2be1172f671ae6ca5..5ac152278dabd662a3e5bb4e83a6aee1e1d3bff6 100644 --- a/app/models/clusters/applications/knative.rb +++ b/app/models/clusters/applications/knative.rb @@ -20,7 +20,7 @@ module Clusters self.reactive_cache_key = ->(knative) { [knative.class.model_name.singular, knative.id] } state_machine :status do - before_transition any => [:installed] do |application| + after_transition any => [:installed] do |application| application.run_after_commit do ClusterWaitForIngressIpAddressWorker.perform_in( FETCH_IP_ADDRESS_DELAY, application.name, application.id) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 997c07cd8882bf4051fe06ad17cbd2189b4b5a81..9f017a1bbcb36f16286d179e6cf513ff41d80d0a 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -107,7 +107,9 @@ class MergeRequest < ActiveRecord::Base before_transition any => :opened do |merge_request| merge_request.merge_jid = nil + end + after_transition any => :opened do |merge_request| merge_request.run_after_commit do UpdateHeadPipelineForMergeRequestWorker.perform_async(merge_request.id) end diff --git a/ee/app/models/ee/project_import_state.rb b/ee/app/models/ee/project_import_state.rb index eacae6c4c4abfd1494a2ff5fe9b565d532e951d7..dd92c345ddf7b3223e67aab79cb54208cb837cec 100644 --- a/ee/app/models/ee/project_import_state.rb +++ b/ee/app/models/ee/project_import_state.rb @@ -59,7 +59,9 @@ module EE state.reset_retry_count state.set_next_execution_timestamp end + end + after_transition started: :finished do |state, _| if ::Gitlab::CurrentSettings.current_application_settings.elasticsearch_indexing? state.run_after_commit do last_indexed_commit = state.project.index_status&.last_commit