mxschmitt / action-tmate

Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.
https://mxschmitt.github.io/action-tmate/
MIT License
2.86k stars 285 forks source link

Add support for a "detached" mode #162

Closed dscho closed 1 year ago

dscho commented 1 year ago

In #131, first, and then in #156, a change was proposed to support the same functionality as CircleCI, where a terminal is open concurrent to the running job's steps. And as I mentioned in the latter PR, I have found that feature quite useful (implementing it "manually", by having two shell: bash steps).

Here is a very small PR to propose a much simpler UI but essentially offer the same feature: by setting the input detached: true, the action-tmate step will start a new, detached tmate session, print the information how to connect to that, and then continue with the workflow job's next steps, keeping the tmate session running. In the post-job phase, action-tmate will then wait for the session to end (or, if nobody connected to the session within 10 minutes of that post-job Action, terminate anyway).

Sadly, this PR results in warnings about the usage of the save-state command that would only be solved by upgrading to @actions/core 1.10.0. However, in https://github.com/mxschmitt/action-tmate/pull/152 we tried that and the same blockers are still there. So I'll punt on that, for now.