Debug GitHub Actions workflows via SSH or web shell by creating a tmate session on the runner.
action-tmate is a GitHub Action that creates a tmate session on a workflow runner, providing SSH or web shell access for interactive debugging. It solves the problem of opaque CI/CD failures by allowing developers to inspect the live environment, run commands, and diagnose issues directly. This turns black-box workflow debugging into an interactive, transparent process.
Developers and DevOps engineers using GitHub Actions who need to debug complex workflow failures, test commands in the runner environment, or troubleshoot configuration issues in CI/CD pipelines.
It offers a straightforward, zero-configuration way to gain shell access to GitHub Actions runners, unlike manual logging or trial-and-error approaches. Its integration with GitHub's ecosystem and support for conditional execution make it a versatile tool for both proactive and reactive debugging.
Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides direct SSH or web shell access to the live runner environment, allowing immediate command execution and inspection, as shown in the Checks tab connection details.
Supports manual triggers via workflow_dispatch and failure-only activation, enabling targeted debugging without workflow modifications.
Allows sessions to run in the background with outputs like ssh-command usable in subsequent jobs, facilitating asynchronous debugging.
Works on Linux, macOS, and Windows runners, including self-hosted agents, ensuring compatibility across diverse CI setups.
Defaults to ssh.tmate.io, creating a potential single point of failure or security risk for sensitive data unless custom servers are configured.
Without enabling limit-access-to-actor, sessions are publicly accessible, and setting up custom servers requires manual fingerprint and port management.
On self-hosted or custom runners, installation may fail due to sudo issues or dependencies, necessitating workarounds like install-dependencies: false.