Read about our upcoming Code of Conduct on this issue

Unverified Commit 353d426e authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Show CI status on Your projects page and Starred projects page


Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 66f8e56e4311
......@@ -7,6 +7,7 @@ v 8.1.0 (unreleased)
- Fix cases where Markdown did not render links in activity feed (Stan Hu)
- Add first and last to pagination (Zeger-Jan van de Weg)
- Show CI status on commit page
- Show CI status on Your projects page and Starred projects page
v 8.0.2 (unreleased)
- Skip check_initd_configured_correctly on omnibus installs
......
......@@ -297,9 +297,15 @@ pre.light-well {
color: #4c4e54;
}
.pull-right.light {
.project-controls {
float: right;
color: $gl-gray;
line-height: 45px;
color: #7f8fa4;
a:hover {
text-decoration: none;
}
}
.project-description {
......
......@@ -7,4 +7,4 @@
= link_to new_project_path, class: 'btn btn-success' do
New project
= render 'shared/projects/list', projects: @projects
= render 'shared/projects/list', projects: @projects, ci: true
- projects_limit = 20 unless local_assigns[:projects_limit]
- avatar = true unless local_assigns[:avatar] == false
- stars = true unless local_assigns[:stars] == false
- ci = false unless local_assigns[:ci] == true
%ul.projects-list
- projects.each_with_index do |project, i|
- css_class = (i >= projects_limit) ? 'hide' : nil
= render "shared/projects/project", project: project,
avatar: avatar, stars: stars, css_class: css_class
avatar: avatar, stars: stars, css_class: css_class, ci: ci
- if projects.size > projects_limit
%li.bottom.center
......
- avatar = true unless local_assigns[:avatar] == false
- stars = true unless local_assigns[:stars] == false
- ci = false unless local_assigns[:ci] == true
- css_class = '' unless local_assigns[:css_class]
- css_class += " no-description" unless project.description.present?
%li.project-row{ class: css_class }
= cache [project.namespace, project, controller.controller_name, controller.action_name, 'v2.1'] do
= cache [project.namespace, project, controller.controller_name, controller.action_name, 'v2.2'] do
= link_to project_path(project), class: dom_class(project) do
- if avatar
.dash-project-avatar
......@@ -15,8 +16,16 @@
\/
%span.project-name.filter-title
= project.name
.project-controls
- if ci && !project.empty_repo?
- if ci_commit = project.ci_commit(project.commit.sha)
= link_to ci_status_path(ci_commit), class: "c#{ci_status_color(ci_commit)}",
title: "Build status: #{ci_commit.status}", data: {toggle: 'tooltip', placement: 'left'} do
= ci_status_icon(ci_commit)
&nbsp;
- if stars
%span.pull-right.light
%span
%i.fa.fa-star
= project.star_count
- if project.description.present?
......
......@@ -4,12 +4,14 @@ Feature: Dashboard
Given I sign in as a user
And I own project "Shop"
And project "Shop" has push event
And project "Shop" has CI enabled
And project "Shop" has CI build
And I visit dashboard page
@javascript
Scenario: I should see projects list
Then I should see "New Project" link
Then I should see "Shop" project link
Then I should see "Shop" project CI status
@javascript
Scenario: I should see activity list
......
......@@ -11,6 +11,10 @@ class Spinach::Features::Dashboard < Spinach::FeatureSteps
expect(page).to have_link "Shop"
end
step 'I should see "Shop" project CI status' do
expect(page).to have_link "Build status: skipped"
end
step 'I should see last push widget' do
expect(page).to have_content "You pushed to fix"
expect(page).to have_link "Create Merge Request"
......
......@@ -23,10 +23,6 @@ class Spinach::Features::ProjectGraph < Spinach::FeatureSteps
visit ci_namespace_project_graph_path(project.namespace, project, 'master')
end
step 'project "Shop" has CI enabled' do
project.enable_ci(@user)
end
step 'page should have CI graphs' do
expect(page).to have_content 'Overall'
expect(page).to have_content 'Builds chart for last week'
......
......@@ -196,4 +196,14 @@ def current_project
create(:label, project: project, title: 'feature')
create(:label, project: project, title: 'enhancement')
end
step 'project "Shop" has CI enabled' do
project = Project.find_by(name: "Shop")
project.enable_ci(@user)
end
step 'project "Shop" has CI build' do
project = Project.find_by(name: "Shop")
create :ci_commit, project: project.gitlab_ci_project, sha: project.commit.sha
end
end
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment