diff --git a/CHANGELOG b/CHANGELOG
index 58751448d4aa55fcc749529a617d22ca3512b6f0..31ed0e01095b548050bc07fed491e79f9b8c3943 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -81,6 +81,7 @@ v 8.11.0 (unreleased)
   - Speed up and reduce memory usage of Commit#repo_changes, Repository#expire_avatar_cache and IrkerWorker
   - Add unfold links for Side-by-Side view. !5415 (Tim Masliuchenko)
   - Adds support for pending invitation project members importing projects
+  - Add pipeline visualization/graph on pipeline page
   - Update devise initializer to turn on changed password notification emails. !5648 (tombell)
   - Avoid to show the original password field when password is automatically set. !5712 (duduribeiro)
   - Fix importing GitLab projects with an invalid MR source project
diff --git a/app/assets/stylesheets/pages/pipelines.scss b/app/assets/stylesheets/pages/pipelines.scss
index a9ffda00278a6c006125e1ed864829e76d1ba73d..49225d7d0d4cbf5adfb4f6769b118b85a148823b 100644
--- a/app/assets/stylesheets/pages/pipelines.scss
+++ b/app/assets/stylesheets/pages/pipelines.scss
@@ -258,6 +258,10 @@
   .stage-name {
     margin-bottom: 15px;
     font-weight: bold;
+    width: 150px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
   }
 
   .build {
@@ -266,12 +270,15 @@
     padding: 6px 10px;
     border-radius: 30px;
     width: 150px;
-    // TODO truncate text within .build div; not on build div itself
-    // white-space: nowrap;
-    // overflow: hidden;
-    // text-overflow: ellipsis;
     margin-bottom: 10px;
 
+    .build-content {
+      width: 130px;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+    }
+
     svg {
       position: relative;
       top: 2px;
diff --git a/app/views/projects/commit/_pipeline.html.haml b/app/views/projects/commit/_pipeline.html.haml
index 06a63839107809104c27cf602155bedcffa4ac52..2edf660db71c7fe62ebc3f0bd30da84a6b3dc0a5 100644
--- a/app/views/projects/commit/_pipeline.html.haml
+++ b/app/views/projects/commit/_pipeline.html.haml
@@ -14,9 +14,10 @@
             %ul
               - statuses.each do |build|
                 %li.build
-                  %span{class: "ci-status-link ci-status-icon-#{status}"}
-                    = ci_icon_for_status(status)
-                  = build.name
+                  .build-content
+                    %span{class: "ci-status-link ci-status-icon-#{status}"}
+                      = ci_icon_for_status(status)
+                    = build.name
 
 .row-content-block.build-content.middle-block
   .pull-right
@@ -55,16 +56,16 @@
   .bs-callout.bs-callout-warning
     \.gitlab-ci.yml not found in this commit
 
--# .table-holder.pipeline-holder
--#   %table.table.builds.pipeline
--#     %thead
--#       %tr
--#         %th Status
--#         %th Build ID
--#         %th Name
--#         %th
--#         - if pipeline.project.build_coverage_enabled?
--#           %th Coverage
--#         %th
--#     - pipeline.statuses.stages.each do |stage|
--#       = render 'projects/commit/ci_stage', stage: stage, statuses: pipeline.statuses.where(stage: stage)
+.table-holder.pipeline-holder
+  %table.table.builds.pipeline
+    %thead
+      %tr
+        %th Status
+        %th Build ID
+        %th Name
+        %th
+        - if pipeline.project.build_coverage_enabled?
+          %th Coverage
+        %th
+    - pipeline.statuses.stages.each do |stage|
+      = render 'projects/commit/ci_stage', stage: stage, statuses: pipeline.statuses.where(stage: stage)