Skip to content
Snippets Groups Projects

Build cascading train refs for parallel execution of Pipelines for merge trains

Merged Shinya Maeda requested to merge run-pipeline-for-merge-trains-on-train-ref into master
All threads resolved!
5 files
+ 72
10
Compare changes
  • Side-by-side
  • Inline
Files
5
  • 40444a34
    Currently, pipelines for merge trains run on refs/merge paths,
    however, this doesn't allow us to run pipeline in parallel by chaning
    merge refs, so we'll introduce a refs/train for this specific purpose.
@@ -36,12 +36,20 @@ def all_next
self.class.all_in_train(merge_request).where('merge_trains.id > ?', id)
end
def all_prev
self.class.all_in_train(merge_request).where('merge_trains.id < ?', id)
end
def next
all_next.first
end
def prev
all_prev.last
end
def index
self.class.all_in_train(merge_request).where('merge_trains.id < ?', id).count
all_prev.count
end
def first_in_train?
@@ -49,6 +57,6 @@ def first_in_train?
end
def follower_in_train?
self.class.all_in_train(merge_request).where('merge_trains.id < ?', id).exists?
all_prev.exists?
end
end
Loading