diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-02-15 17:23:39 +0100 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-02-15 17:39:35 +0100 |
commit | 03345b3613d7667bd0ef05ec2258049e58d355ec (patch) | |
tree | 44288c6cdb9ab47bc5f2e40d4640a05874c6c8b0 /app/models/ci | |
parent | e7f99753dae4de7422836ebf5f72e0dba3a867bb (diff) | |
download | gitlab-ce-remove-trigger-requests.tar.gz |
Remove trigger request and migrate all data to pipeline, by adding trigger_id and trigger_variables.remove-trigger-requests
Diffstat (limited to 'app/models/ci')
-rw-r--r-- | app/models/ci/build.rb | 7 | ||||
-rw-r--r-- | app/models/ci/pipeline.rb | 16 | ||||
-rw-r--r-- | app/models/ci/trigger.rb | 8 | ||||
-rw-r--r-- | app/models/ci/trigger_request.rb | 19 |
4 files changed, 19 insertions, 31 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 8c1b076c2d7..3df867b05e9 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -5,7 +5,6 @@ module Ci include Presentable belongs_to :runner - belongs_to :trigger_request belongs_to :erased_by, class_name: 'User' has_many :deployments, as: :deployable @@ -57,7 +56,6 @@ module Ci new_build = build.dup new_build.status = 'pending' new_build.runner_id = nil - new_build.trigger_request_id = nil new_build.token = nil new_build.save end @@ -75,7 +73,6 @@ module Ci allow_failure: build.allow_failure, stage: build.stage, stage_idx: build.stage_idx, - trigger_request: build.trigger_request, yaml_variables: build.yaml_variables, when: build.when, user: user, @@ -231,7 +228,7 @@ module Ci variables += yaml_variables variables += user_variables variables += project.secret_variables - variables += trigger_request.user_variables if trigger_request + variables += pipeline.trigger_variables variables end @@ -585,7 +582,7 @@ module Ci { key: 'CI_SERVER_REVISION', value: Gitlab::REVISION, public: true } ] variables << { key: 'CI_BUILD_TAG', value: ref, public: true } if tag? - variables << { key: 'CI_BUILD_TRIGGERED', value: 'true', public: true } if trigger_request + variables << { key: 'CI_BUILD_TRIGGERED', value: 'true', public: true } if pipeline.trigger variables << { key: 'CI_BUILD_MANUAL', value: 'true', public: true } if manual? variables end diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index bbc358adb83..7ee6987e0e2 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -9,10 +9,10 @@ module Ci belongs_to :project, foreign_key: :gl_project_id belongs_to :user + belongs_to :trigger, foreign_key: :trigger_id has_many :statuses, class_name: 'CommitStatus', foreign_key: :commit_id has_many :builds, foreign_key: :commit_id - has_many :trigger_requests, dependent: :destroy, foreign_key: :commit_id validates_presence_of :sha, unless: :importing? validates_presence_of :ref, unless: :importing? @@ -21,6 +21,8 @@ module Ci after_create :keep_around_commits, unless: :importing? + serialize :trigger_variables + state_machine :status, initial: :created do event :enqueue do transition created: :pending @@ -239,7 +241,7 @@ module Ci end def triggered? - trigger_requests.any? + trigger.any? end def retried @@ -257,7 +259,7 @@ module Ci return [] unless config_processor config_processor. - builds_for_ref(ref, tag?, trigger_requests.first). + builds_for_ref(ref, tag?, trigger). sort_by { |build| build[:stage_idx] } end @@ -367,6 +369,14 @@ module Ci .fabricate! end + def trigger_variables + return [] unless super + + super.map do |key, value| + { key: key, value: value, public: false } + end + end + private def pipeline_data diff --git a/app/models/ci/trigger.rb b/app/models/ci/trigger.rb index 62889fe80d8..d6dba3ef7c8 100644 --- a/app/models/ci/trigger.rb +++ b/app/models/ci/trigger.rb @@ -5,7 +5,7 @@ module Ci acts_as_paranoid belongs_to :project, foreign_key: :gl_project_id - has_many :trigger_requests, dependent: :destroy + has_many :pipelines, dependent: :destroy validates_presence_of :token validates_uniqueness_of :token @@ -16,12 +16,12 @@ module Ci self.token = SecureRandom.hex(15) if self.token.blank? end - def last_trigger_request - trigger_requests.last + def last_pipeline + pipelines.last end def last_used - last_trigger_request.try(:created_at) + pipelines.try(:created_at) end def short_token diff --git a/app/models/ci/trigger_request.rb b/app/models/ci/trigger_request.rb deleted file mode 100644 index 2b807731d0d..00000000000 --- a/app/models/ci/trigger_request.rb +++ /dev/null @@ -1,19 +0,0 @@ -module Ci - class TriggerRequest < ActiveRecord::Base - extend Ci::Model - - belongs_to :trigger - belongs_to :pipeline, foreign_key: :commit_id - has_many :builds - - serialize :variables - - def user_variables - return [] unless variables - - variables.map do |key, value| - { key: key, value: value, public: false } - end - end - end -end |