Bring interactive web terminal in context of the job log
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=23665) </details> <!--IssueSummary end--> ### 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 ![image](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b863617303bb17170c5b9efad2ef5cbb/image.png) - 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 ![Web_IDE](https://gitlab.com/gitlab-org/gitlab-ce/uploads/84962af26136a5cd1998aaaa5ee5e9b2/Web_IDE.jpg) - 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 ![Web_IDE_Copy_3](https://gitlab.com/gitlab-org/gitlab-ce/uploads/e10fff2529c2ea9bb01ca5c2768c9cda/Web_IDE_Copy_3.jpg) - 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](/gitlab-org/gitlab-ce/uploads/f93037f870a3de335c8e63f154158e4f/image.png) as well. ![image](https://gitlab.com/gitlab-org/gitlab-ce/uploads/a111a86506293a1d2f49eae000dc9308/image.png) - 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. ![image](https://gitlab.com/gitlab-org/gitlab-ce/uploads/1a60a9ba3e7c13c451866352e7b6acca/image.png)
issue