summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-11-04 15:09:04 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-11-04 15:09:04 +0200
commit98051316f821d99df2790709b364b3ecce19468e (patch)
tree06360ad959256bdda843b93ff930d683555b13b9
parent6b9019bbc2f61c7751080f9323eba4cb5cf62dcf (diff)
downloadgitlab-ci-98051316f821d99df2790709b364b3ecce19468e.tar.gz
Partly integrate commits
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/assets/stylesheets/sections/projects.scss10
-rw-r--r--app/controllers/projects_controller.rb6
-rw-r--r--app/helpers/builds_helper.rb10
-rw-r--r--app/helpers/gitlab_helper.rb2
-rw-r--r--app/helpers/projects_helper.rb10
-rw-r--r--app/models/commit.rb28
-rw-r--r--app/models/project.rb2
-rw-r--r--app/views/layouts/project.html.haml4
-rw-r--r--app/views/projects/show.html.haml11
9 files changed, 61 insertions, 22 deletions
diff --git a/app/assets/stylesheets/sections/projects.scss b/app/assets/stylesheets/sections/projects.scss
index 4ea7dbd..6ed1e06 100644
--- a/app/assets/stylesheets/sections/projects.scss
+++ b/app/assets/stylesheets/sections/projects.scss
@@ -23,3 +23,13 @@
vertical-align: middle !important;
}
}
+
+.commit-info {
+ font-size: 14px;
+
+ .attr-name {
+ font-weight: 300;
+ color: #666;
+ margin-right: 5px;
+ }
+}
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 3a5ceb3..9b1efb5 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -36,9 +36,9 @@ class ProjectsController < ApplicationController
@ref = params[:ref]
- @builds = @project.builds
- @builds = @builds.where(ref: @ref) if @ref
- @builds = @builds.order('id DESC').page(params[:page]).per(20)
+ @commits = @project.commits
+ @commits = @commits.where(ref: @ref) if @ref
+ @commits = @commits.order('id DESC').page(params[:page]).per(20)
end
def integration
diff --git a/app/helpers/builds_helper.rb b/app/helpers/builds_helper.rb
index 0c1e264..4182675 100644
--- a/app/helpers/builds_helper.rb
+++ b/app/helpers/builds_helper.rb
@@ -28,4 +28,14 @@ module BuildsHelper
def build_url(build)
project_build_url(build.project, build)
end
+
+ def build_status_alert_class(build)
+ if build.success?
+ 'alert-success'
+ elsif build.failed? || build.canceled?
+ 'alert-danger'
+ else
+ 'alert-warning'
+ end
+ end
end
diff --git a/app/helpers/gitlab_helper.rb b/app/helpers/gitlab_helper.rb
index a8cac14..a5d3192 100644
--- a/app/helpers/gitlab_helper.rb
+++ b/app/helpers/gitlab_helper.rb
@@ -15,6 +15,6 @@ module GitlabHelper
def gitlab_commit_link project, sha
gitlab_url = project.gitlab_url.dup
gitlab_url << "/commit/#{sha}"
- link_to sha, gitlab_url
+ link_to sha[0...10], gitlab_url
end
end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index d8d9e39..ebc06c3 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -9,16 +9,6 @@ module ProjectsHelper
end
end
- def build_status_alert_class build
- if build.success?
- 'alert-success'
- elsif build.failed? || build.canceled?
- 'alert-danger'
- else
- 'alert-warning'
- end
- end
-
def ref_tab_class ref = nil
'active' if ref == @ref
end
diff --git a/app/models/commit.rb b/app/models/commit.rb
index cb08c24..08e2888 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -15,12 +15,17 @@
class Commit < ActiveRecord::Base
belongs_to :project
has_many :builds
+ has_many :jobs, through: :builds
serialize :push_data
validates_presence_of :ref, :sha, :before_sha, :push_data
validate :valid_commit_sha
+ def to_param
+ sha
+ end
+
def last_build
builds.last
end
@@ -103,4 +108,27 @@ class Commit < ActiveRecord::Base
build
end
end
+
+ def builds_without_retry
+ builds.where('id IN (SELECT MAX(id) FROM builds GROUP BY job_id)')
+ end
+
+ def status
+ 'success'
+ end
+
+ def success?
+ end
+
+ def failed?
+ end
+
+ def canceled?
+ end
+
+ def duration
+ end
+
+ def finished_at
+ end
end
diff --git a/app/models/project.rb b/app/models/project.rb
index 817c668..096eb02 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -51,7 +51,7 @@ class Project < ActiveRecord::Base
scope :public_only, ->() { where(public: true) }
before_validation :set_default_values
- after_save :update_jobs
+ after_save :update_jobs, if: ->(project) { project.scripts_changed? }
class << self
def base_build_script
diff --git a/app/views/layouts/project.html.haml b/app/views/layouts/project.html.haml
index 9b6355a..5780904 100644
--- a/app/views/layouts/project.html.haml
+++ b/app/views/layouts/project.html.haml
@@ -24,8 +24,8 @@
= nav_link path: 'projects#show' do
= link_to project_path(@project) do
%i.icon-list-alt
- Builds
- %small.pull-right= @project.builds.count
+ Commits
+ %small.pull-right= @project.commits.count
= nav_link path: 'charts#show' do
= link_to project_charts_path(@project) do
%i.icon-bar-chart
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index 633ad4f..fe23277 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -3,7 +3,7 @@
%ul.nav.nav-tabs.append-bottom-20
%li{class: ref_tab_class}
- = link_to 'All builds', project_path(@project)
+ = link_to 'All commits', project_path(@project)
- @project.tracked_refs.each do |ref|
%li{class: ref_tab_class(ref)}
= link_to ref, project_path(@project, ref: ref)
@@ -45,10 +45,11 @@
- if @project.coverage_enabled?
%th Coverage
- = render @builds
+ = render @commits
-= paginate @builds
-- if @builds.empty?
+= paginate @commits
+
+- if @commits.empty?
.bs-callout
- %h4 No builds yet
+ %h4 No commits yet