summaryrefslogtreecommitdiff
path: root/app/models/ci
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/ci')
-rw-r--r--app/models/ci/build.rb7
-rw-r--r--app/models/ci/pipeline.rb16
-rw-r--r--app/models/ci/trigger.rb8
-rw-r--r--app/models/ci/trigger_request.rb19
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