The github-hetzner-runners service program starts and monitors queued-up jobs for GitHub Actions workflows.
When a new job is queued up, it creates a new Hetzner Cloud server instance
that provides an ephemeral GitHub Actions runner. Each server instance is automatically
powered off when the job completes, and then powered off servers are
automatically deleted. Both x64 (x86) and arm64 (arm) runners are supported.
See Features and Limitations for more details.
βWarning:
This program is provided on "AS IS" basis without warranties or conditions of any kind. See LICENSE.
Use it at your own risk. Manual monitoring is required to make sure server instances are cleaned up properly
and costs are kept under control.
Costs depend on the server type, number of jobs, and execution time. For each job, a new server instance is created
to avoid any cleanup. Server instances are not shared between jobs.
β Note:
Currently, Hetzner Cloud server instances are billed on an hourly basis. So a job that takes 1 minute will be billed
the same way as for a job that takes 59 minutes. Therefore, unless server reuse is enabled using server recycling,
the minimal cost for any job is the cost of the server for one hour plus the cost of one public IPv4 address.
If server recycling is used, the amortized cost could be close to per-minute billing depending on server utilization.