In a development landscape dominated by cloud-based continuous integration (CI) services, a new GitHub CLI extension called gh-signoff has emerged, challenging conventional wisdom about test automation. The tool, developed by Basecamp, allows developers to run tests locally and manually sign off on their work, creating a passing status check without using remote CI runners.
Key Points About gh-signoff
- Purpose: Allows developers to run tests locally and manually sign off on their work
- How it works: Creates a passing GitHub status check via command
gh signoff
- Checks performed: Only verifies there are no uncommitted Git changes
- Does not: Run tests automatically or publish test results
- Installation:
gh extension install basecamp/gh-signoff
- License: MIT
Local CI vs. Cloud CI: A Community Divided
The introduction of gh-signoff has sparked significant debate within the developer community. Proponents argue that modern developer machines are powerful enough to handle testing workloads that previously required cloud infrastructure. As the extension's description states, Dev laptops are super fast these days. They're chronically underutilized. And you already own them. Cloud CI services are typically slow, expensive, and rented.
However, many developers express serious concerns about this approach. The primary criticism centers on reproducibility and reliability. One commenter noted that the tool essentially creates a passing status without any verification that tests were actually run:
This simply creates a passing status in the repo so that the PR can be merged. There is no obligation on the dev to actually run the tests locally, so you could just save time by disabling status checks.
This highlights a fundamental tension between trust and verification in software development processes.
The Trust Factor in Development Teams
The gh-signoff approach is built on a foundation of trust within development teams. Defenders of the tool point out that even with traditional CI, determined developers could bypass checks by modifying test code. They argue that making the signoff process explicit creates accountability.
Critics counter that the issue isn't about trust but human error. As one experienced developer with 25+ years of coding experience explained, even the most careful developers make mistakes—forgetting to remove debug output, update exception handling, or ensure cross-platform compatibility. Running builds on separate machines helps catch these errors regardless of developer intention or attention.
Isolation and Environment Consistency Concerns
Many commenters emphasized that CI's value comes from providing consistent, isolated environments. When tests run on developer machines, they may pass due to dependencies or configurations specific to that environment—leading to the classic works on my machine problem. Several developers suggested that if local execution is desired, using containerization or virtual machines would be necessary to ensure environment consistency.
For organizations working with complex systems that require testing across multiple operating systems or hardware configurations, local CI becomes increasingly impractical. As one PyTorch developer noted, cloud CI provides the necessary parallelization and environment diversity that would be impossible to replicate locally.
Cost vs. Control Tradeoffs
The financial aspect of CI cannot be ignored. As organizations grow, cloud CI costs can become substantial. One commenter observed that once your engineering org gets to a certain size, you can end up spending an eye-watering amount of money on CI compute. The gh-signoff approach potentially offers significant cost savings by leveraging existing developer hardware.
However, this comes with tradeoffs in auditability and compliance. Several commenters pointed out that centralized CI systems provide documented evidence of testing processes—something particularly important for organizations subject to audits or regulatory requirements.
The gh-signoff tool represents an interesting experiment in rethinking development workflows, but the community consensus suggests it's likely best suited for small teams with high trust, simple applications, and minimal compliance requirements. For most organizations, especially those at scale, traditional CI systems continue to offer benefits that outweigh their costs.
Reference: gh-signoff