Make job logs line shareable

Problem to solve

I'm often trying to show someone a particular line in the job output, and have to guide them through finding it. If there was a line number, I could simply say "look at line 149". If those line numbers were link anchors, that would be even better because then you can just provide a link to the exact problem.

Intended users

  • Delaney (Development Team Lead)
  • Sasha (Software Developer)
  • Devon (DevOps Engineer)
  • Sidney (Systems Administrator)

Further details

Users can easily share sections of the build log, with one another helping to debug of the job log. This can/should work similarly to sharing lines of code for example: https://gitlab.com/gitlab-org/gitlab-ce/blob/4047e5b8275490288e7ce38ae48e3f7248e5daf8/lib/banzai.rb#L19-21

Proposal

We shouldn't rely use line numbers since we show up to 5000kb and the job logs can be updated at any time, so line 1 can be the actual beginning of the log or actually in the middle of the log which can be very confusing. Instead, we should use a byte offset/limit so that backend can create the correct link and find the right part of the log.

Permissions and Security

  • Anyone who can see the build log should be able to create the link
  • Anyone who can see the build log should be able to load the link

Documentation

  • Show to link to part of the build log

Testing

What does success look like, and how can we measure that?

Users can easily share parts of the build log with one another

Links / references

Originally proposed in gitlab-runner#2412 (moved)

Edited May 20, 2019 by Steve Xuereb
Assignee Loading
Time tracking Loading