build/pipeline ETA/progress bar

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Overview

Use a log of previous successful build times to estimate the percent complete of the job. Then use this to display a progress bar / progress favicon and percent complete in the

For example in Jenkins gets the following view:

image

But in GitLab CI the user only gets the following view:

Screen_Shot_2019-05-31_at_4.14.00_PM

Details

As explained by @dosuken123 in https://gitlab.com/gitlab-org/gitlab-ce/issues/62603#note_177051842, we have to parse ci_trace_sections in real time (currently, it's parsed after the job is done) and calculate the result with the formula (the index/position of the current section / total number of sections) * 100.0. Probably we might want to persist the data in Redis (as a cache) or Build Metadata.

Edited by 🤖 GitLab Bot 🤖