Dispatchoor
A GitHub Actions workflow orchestrator that dispatches jobs based on runner availability to optimize infrastructure utilization.
Overview
Dispatchoor is a GitHub Actions workflow orchestrator that intelligently dispatches jobs based on runner availability rather than fixed schedules. It monitors runner pools via the GitHub API and triggers workflows only when matching runners are available, optimizing infrastructure utilization and reducing costs on self-hosted runner environments.
Features
- Smart Dispatching: Triggers jobs only when runners with matching labels are available
- Queue Management: Drag-and-drop reordering with priority support and job history
- Real-time Dashboard: WebSocket-based live updates for monitoring runner status and job state
- Multi-group Support: Organize runners into groups with different label requirements
- Authentication: Basic auth and GitHub OAuth with role-based access control
- Metrics: Prometheus endpoint for monitoring and alerting
- Database Flexibility: SQLite or PostgreSQL support
Use Cases
- CI/CD Optimization: Dispatch workflows when self-hosted runners are idle
- Cost Reduction: Avoid paying for underutilized infrastructure
- Queue Visibility: Monitor and prioritize pending jobs with a real-time dashboard
- Resource Management: Organize runners into groups with different capabilities