namespacelabs/breakpoint-action
namespacelabs/breakpoint-action is a GitHub action that allows you to pause the execution of a workflow, enter a live SSH session, debug the environment and finally resume the run when you are done.
Note: Workflows that have active breakpoint sessions are still running and continue to count towards your total CI usage.
Example
jobs:
go-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run Go tests
run: |
go test ./...
- name: Breakpoint if tests failed
if: failure()
uses: namespacelabs/breakpoint-action@v0
with:
duration: 30m
authorized-users: jack123, alice321When the above breakpoint runs, you'll see a log message like the following:
┌───────────────────────────────────────────────────────────────────────────┐
│ │
│ Breakpoint running until 2023-05-24T16:06:48+02:00 (29 minutes from now). │
│ │
│ Connect with: ssh -p 40812 runner@rendezvous.namespace.so │
│ │
└───────────────────────────────────────────────────────────────────────────┘The SSH service in breakpoint only accepts sessions from public SSH keys configured by GitHub users, listed by authorized-users.
And there you have it, an SSH session to connect to debug your workflow.
Check out the actions GitHub page for a more detailed documentation.
Options
duration
string The initial breakpoint duration. Default: 30m
authorized-users
string A comma-separated list of authorized GitHub users.
authorized-keys
string A comma-separated list of authorized SSH keys.
slack-announce-channel
string A Slack channel where webhook sends notifications.