summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/build.rb6
-rw-r--r--app/models/commit.rb3
-rw-r--r--app/services/create_commit_service.rb2
-rw-r--r--app/views/builds/_build.html.haml6
4 files changed, 12 insertions, 5 deletions
diff --git a/app/models/build.rb b/app/models/build.rb
index 3bb76eb..03393c5 100644
--- a/app/models/build.rb
+++ b/app/models/build.rb
@@ -121,7 +121,7 @@ class Build < ActiveRecord::Base
state :canceled, value: 'canceled'
end
- delegate :ref, :sha, :short_sha, :before_sha,
+ delegate :sha, :short_sha, :before_sha,
to: :commit, prefix: false
def trace_html
@@ -201,6 +201,10 @@ class Build < ActiveRecord::Base
end
end
+ def ref
+ read_attribute(:ref) || commit.ref
+ end
+
def for_tag?
if job && job.build_tags
true
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 13630bc..5720b26 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -105,10 +105,11 @@ class Commit < ActiveRecord::Base
end
end
- def create_builds_for_tag
+ def create_builds_for_tag(tag_name = '')
project.jobs.where(build_tags: true).active.map do |job|
build = builds.new(commands: job.commands)
build.job = job
+ build.ref = tag_name
build.save
build
end
diff --git a/app/services/create_commit_service.rb b/app/services/create_commit_service.rb
index ba74e88..f42b411 100644
--- a/app/services/create_commit_service.rb
+++ b/app/services/create_commit_service.rb
@@ -41,7 +41,7 @@ class CreateCommitService
end
if origin_ref.start_with?('refs/tags/')
- commit.create_builds_for_tag
+ commit.create_builds_for_tag(ref)
else
commit.create_builds
end
diff --git a/app/views/builds/_build.html.haml b/app/views/builds/_build.html.haml
index 523c335..1bf7415 100644
--- a/app/views/builds/_build.html.haml
+++ b/app/views/builds/_build.html.haml
@@ -8,9 +8,11 @@
%td
- if build.job
- - if build.for_tag?
- %i.icon-tag
= build.job.name
+ - if build.for_tag?
+ %span.label.label-primary
+ %i.icon-tag
+ = build.ref
%td.duration
- if build.duration