Step folding - collapse job log into sections with duration
Job logs can be really long and full of different commands, making it hard to find details you're looking for. We should be able to expand and collapse command output so that it more readable. Currently running commands should be expanded. As each command finishes and succeeds, it should be collapsed. If a command fails, it should stay expanded. Each command should show a duration. Ideally, this would still look very much like a single log, just with collapsable sections. Travis and Codeship are good examples here.
- Show each script command as collapsable section
- Collapse commands that succeeded by default
- Expand currently running command, if any
- Expand failed commands (generally the last one)
- Show durations of each command
Screenshot of proposal
Expand for original description
CircleCI and Travis CI both collapse their build logs into sections for each command. It makes the build logs a *lot* easier to read through. Right now GitLab CI shows the full build log by default, so for builds like [this](https://gitlab.com/gitlab-org/gitlab-ce/builds/941269) I have to scroll down all the way to the bottom through a bunch of stuff (booting Docker, gem installs, migrations, etc.) to get to the test - which is what I actually want to see. CircleCI: ![Screen_Shot_2016-03-27_at_10.26.29_AM](/uploads/8e5e928f4157a598396eccc2d3869e28/Screen_Shot_2016-03-27_at_10.26.29_AM.png) Travis CI: ![Screen_Shot_2016-03-27_at_10.27.59_AM](/uploads/144987d3780fff0c80098cdf68b6e065/Screen_Shot_2016-03-27_at_10.27.59_AM.png) GitLab CI: ![Screen_Shot_2016-03-27_at_10.29.19_AM](/uploads/3c44429beae620d831765b4532266e83/Screen_Shot_2016-03-27_at_10.29.19_AM.png) I assume the other two do this by just looking for the command in the build log and separating the log for every command? Would improve the Build UX by a ton.