Skip to content

Limit duration badge max height in CI job log

LI Zhennan requested to merge nanmu42/gitlab:duration-badge-style-fix into master

What does this MR do and why?

When CI feature flag FF_SCRIPT_SECTIONS is true, a section is created for each user script. As user script can be one very long line, the duration badge looks funny(screenshot included below).

Limit the max height of duration badge resolves this problem.

The MR partially is kind of related to &6570 , and fixes gitlab-runner#28774 (closed) .

Screenshots or screen recordings

Following screenshot is from this CI job.

  • Before fix:

before

  • After fix:

after

How to set up and validate locally

Use a .gitlab-ci.yml like this should do:

variables:
  FF_SCRIPT_SECTIONS: 1 # Important

stages:
  - build

build-job:
  stage: build
  before_script:
    - echo "before_script"
    - sleep 1
    - sleep 2
    - sleep 3
    - echo $CI_JOB_STATUS
  script:
    - echo "hello"
    - echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In dictum non consectetur a erat nam at. Hac habitasse platea dictumst vestibulum rhoncus est. Malesuada pellentesque elit eget gravida cum sociis natoque. Augue mauris augue neque gravida in fermentum. Amet luctus venenatis lectus magna fringilla urna porttitor rhoncus. Tellus orci ac auctor augue mauris augue neque gravida in. Dui id ornare arcu odio ut. Id aliquet risus feugiat in ante metus dictum at. Lacus vestibulum sed arcu non odio euismod lacinia at quis. Nascetur ridiculus mus mauris vitae. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae."
    - echo $CI_JOB_STATUS
    - echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In dictum non consectetur a erat nam at. Hac habitasse platea dictumst vestibulum rhoncus est. Malesuada pellentesque elit eget gravida cum sociis natoque. Augue mauris augue neque gravida in fermentum. Amet luctus venenatis lectus magna fringilla urna porttitor rhoncus. Tellus orci ac auctor augue mauris augue neque gravida in. Dui id ornare arcu odio ut. Id aliquet risus feugiat in ante metus dictum at. Lacus vestibulum sed arcu non odio euismod lacinia at quis. Nascetur ridiculus mus mauris vitae. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In dictum non consectetur a erat nam at. Hac habitasse platea dictumst vestibulum rhoncus est. Malesuada pellentesque elit eget gravida cum sociis natoque. Augue mauris augue neque gravida in fermentum. Amet luctus venenatis lectus magna fringilla urna porttitor rhoncus. Tellus orci ac auctor augue mauris augue neque gravida in. Dui id ornare arcu odio ut. Id aliquet risus feugiat in ante metus dictum at. Lacus vestibulum sed arcu non odio euismod lacinia at quis. Nascetur ridiculus mus mauris vitae. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In dictum non consectetur a erat nam at. Hac habitasse platea dictumst vestibulum rhoncus est. Malesuada pellentesque elit eget gravida cum sociis natoque. Augue mauris augue neque gravida in fermentum. Amet luctus venenatis lectus magna fringilla urna porttitor rhoncus. Tellus orci ac auctor augue mauris augue neque gravida in. Dui id ornare arcu odio ut. Id aliquet risus feugiat in ante metus dictum at. Lacus vestibulum sed arcu non odio euismod lacinia at quis. Nascetur ridiculus mus mauris vitae. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae."
    - |
      echo "First command line."
      echo "Second command line."
      echo "Third command line."
      sleep 1
      sleep 2
      sleep 3
    - |
      echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In dictum non consectetur a erat nam at. Hac habitasse platea dictumst vestibulum rhoncus est. Malesuada pellentesque elit eget gravida cum sociis natoque. Augue mauris augue neque gravida in fermentum. Amet luctus venenatis lectus magna fringilla urna porttitor rhoncus. Tellus orci ac auctor augue mauris augue neque gravida in. Dui id ornare arcu odio ut. Id aliquet risus feugiat in ante metus dictum at. Lacus vestibulum sed arcu non odio euismod lacinia at quis. Nascetur ridiculus mus mauris vitae. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In dictum non consectetur a erat nam at. Hac habitasse platea dictumst vestibulum rhoncus est. Malesuada pellentesque elit eget gravida cum sociis natoque. Augue mauris augue neque gravida in fermentum. Amet luctus venenatis lectus magna fringilla urna porttitor rhoncus. Tellus orci ac auctor augue mauris augue neque gravida in. Dui id ornare arcu odio ut. Id aliquet risus feugiat in ante metus dictum at. Lacus vestibulum sed arcu non odio euismod lacinia at quis. Nascetur ridiculus mus mauris vitae. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae."
      echo "Second command line."
      echo "Third command line."
      sleep 1
      sleep 2
      sleep 3

  after_script:
    - sleep 1
    - sleep 2
    - sleep 3
    - echo "after script"
    - echo $CI_JOB_STATUS

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by David O'Regan

Merge request reports