lib/release_tools/internal_release/release_dynamic_pipeline.rb (33 lines of code) (raw):

# frozen_string_literal: true module ReleaseTools module InternalRelease class ReleaseDynamicPipeline < DynamicPipelineBase def stages { 'stages' => versions.map { |version| "internal_release_release:build_package:#{version}" } } end def job(version) { 'image' => "$CI_REGISTRY_IMAGE/base:$CI_DEFAULT_BRANCH", 'stage' => "internal_release_release:build_package:#{version}", 'script' => [ "source scripts/setup_ssh.sh", "source scripts/setup_git.sh", "bundle exec rake internal:release:build_package[#{version}]" ], 'extends' => [ '.with-bundle', '.common-ci-tokens' ], 'needs' => [], # Make the jobs run in parallel 'timeout' => "2h" } end def jobs versions.each_with_object({}) do |version, hash| hash["internal_release_release_build_package:#{version}"] = job(version) end end end end end