summaryrefslogtreecommitdiff
path: root/app/models/build.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/build.rb')
-rw-r--r--app/models/build.rb52
1 files changed, 33 insertions, 19 deletions
diff --git a/app/models/build.rb b/app/models/build.rb
index da52f0a..913a47c 100644
--- a/app/models/build.rb
+++ b/app/models/build.rb
@@ -2,23 +2,25 @@
#
# Table name: builds
#
-# id :integer not null, primary key
-# project_id :integer
-# status :string(255)
-# finished_at :datetime
-# trace :text
-# created_at :datetime
-# updated_at :datetime
-# started_at :datetime
-# runner_id :integer
-# commit_id :integer
-# coverage :float
-# commands :text
-# job_id :integer
-# name :string(255)
-# deploy :boolean default(FALSE)
-# options :text
-# allow_failure :boolean default(FALSE), not null
+# id :integer not null, primary key
+# project_id :integer
+# status :string(255)
+# finished_at :datetime
+# trace :text
+# created_at :datetime
+# updated_at :datetime
+# started_at :datetime
+# runner_id :integer
+# commit_id :integer
+# coverage :float
+# commands :text
+# job_id :integer
+# name :string(255)
+# options :text
+# allow_failure :boolean default(FALSE), not null
+# stage :string(255)
+# deploy :boolean default(FALSE)
+# trigger_request_id :integer
#
class Build < ActiveRecord::Base
@@ -27,6 +29,7 @@ class Build < ActiveRecord::Base
belongs_to :commit
belongs_to :project
belongs_to :runner
+ belongs_to :trigger_request
serialize :options
@@ -78,6 +81,7 @@ class Build < ActiveRecord::Base
new_build.name = build.name
new_build.allow_failure = build.allow_failure
new_build.stage = build.stage
+ new_build.trigger_request = build.trigger_request
new_build.save
new_build
end
@@ -113,7 +117,7 @@ class Build < ActiveRecord::Base
end
if build.commit.success?
- build.commit.create_next_builds
+ build.commit.create_next_builds(build.trigger_request)
end
project.execute_services(build)
@@ -165,7 +169,7 @@ class Build < ActiveRecord::Base
end
def variables
- yaml_variables + project_variables
+ yaml_variables + project_variables + trigger_variables
end
def duration
@@ -264,4 +268,14 @@ class Build < ActiveRecord::Base
{ key: variable.key, value: variable.value, public: false }
end
end
+
+ def trigger_variables
+ if trigger_request && trigger_request.variables
+ trigger_request.variables.map do |key, value|
+ { key: key, value: value, public: false }
+ end
+ else
+ []
+ end
+ end
end