Bring interactive web terminal in context of the job log
Problem
https://gitlab.com/gitlab-org/gitlab-ce/issues/25990 implements a first iteration of the web terminal to debug jobs in a separate window.
To have this information be in the context of the job log will most probably prove valuable, as it creates a more efficient flow going back and forth between errors in the job log and the terminal.
Proposal (taken from previous issue)
-
Add "retry with terminal" button to failed job that pre-attaches terminal
-
Consider if giving more users access to shell is useful, or making this an option.
-
Debug button will only be available if the job is still running
-
If the debug button is pressed:
-
Terminal slide out the panel will appear at the bottom
-
The job will stay in running state as long as the job continues to run with a terminal
-
Retry button will become unavailable as long as the job continues to run with a terminal
-
-
Note that the bottom of job log should still be accessible even with terminal slide out panel expanded
-
Terminal slide out the panel will be resizable in height and collapsible
-
Terminal slide out the panel content will be scrollable
-
Mobile support/small viewports: Debug button will either only be available on desktop, or if the button is pressed we will have the terminal open in a new tab (@filipa what are your thoughts here)
-
As soon as the terminal is live and the job has finished a countdown will happen till when the runner stays alive. We might want to put that information in the sidebar as well.
- Most probably you would want to be notified when the original job script has finished, so you can begin to debug. In that case I am thinking of opening a browser notification with this information.