diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2019-01-10 15:00:05 +0100 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2019-01-25 10:32:40 +0100 |
commit | 5d85a04927a1bb435e18c637b845d0e11613d9e4 (patch) | |
tree | 42e066354bd82d77095127ad5da8a32d4f5fba5a /lib/gitlab/ci/pipeline/seed | |
parent | 5692c282afe15ca0c8e99568984e48b4b7b4109a (diff) | |
download | gitlab-ce-5d85a04927a1bb435e18c637b845d0e11613d9e4.tar.gz |
Make it possible to fabricate CI/CD bridge jobs
Diffstat (limited to 'lib/gitlab/ci/pipeline/seed')
-rw-r--r-- | lib/gitlab/ci/pipeline/seed/build.rb | 10 | ||||
-rw-r--r-- | lib/gitlab/ci/pipeline/seed/stage.rb | 8 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/gitlab/ci/pipeline/seed/build.rb b/lib/gitlab/ci/pipeline/seed/build.rb index ef738a93bfe..d8296940a04 100644 --- a/lib/gitlab/ci/pipeline/seed/build.rb +++ b/lib/gitlab/ci/pipeline/seed/build.rb @@ -38,9 +38,17 @@ module Gitlab ) end + def bridge? + @attributes.to_h.dig(:options, :trigger).present? + end + def to_resource strong_memoize(:resource) do - ::Ci::Build.new(attributes) + if bridge? + ::Ci::Bridge.new(attributes) + else + ::Ci::Build.new(attributes) + end end end end diff --git a/lib/gitlab/ci/pipeline/seed/stage.rb b/lib/gitlab/ci/pipeline/seed/stage.rb index 4775ff15581..015ca61d726 100644 --- a/lib/gitlab/ci/pipeline/seed/stage.rb +++ b/lib/gitlab/ci/pipeline/seed/stage.rb @@ -39,7 +39,13 @@ module Gitlab def to_resource strong_memoize(:stage) do ::Ci::Stage.new(attributes).tap do |stage| - seeds.each { |seed| stage.builds << seed.to_resource } + seeds.each do |seed| + if seed.bridge? + stage.statuses << seed.to_resource + else + stage.builds << seed.to_resource + end + end end end end |