Видели новость? GitHub планировал брать $0.002 за минуту даже за self-hosted раннеры с марта 2026. Это вообще нормально — платить им за работу на МОЁМ собственном железе?
Забудьте на минуту про цену, тут вопрос безопасности острее. self-hosted runner на public repo это дыра: любой PR с форка может выполнить произвольный код на вашем раннере и утащить секреты.
Буквально на прошлом пентесте так и зашли. Форкнули репу, в workflow дописали один шаг, GITHUB_TOKEN и деплой-ключи улетели к нам в облако. Раннер был persistent, не эфемерный.
На private и internal тоже грозит: кто может форкнуть и открыть PR — может скомпрометировать раннер, включая GITHUB_TOKEN. Плюс на persistent раннере остаются следы предыдущих джоб. Только эфемерные среды, только хардкор.
Поэтому actions-runner-controller в k8s с эфемерными подами: на каждую джобу свежий под, после выполнения — в труху. Дороже в поддержке чем виртуалка, но спишь спокойнее.
И ещё момент: "бесплатный" self-hosted это не бесплатно. Трафик на pull образов и зависимостей, idle-время инстансов, прогрев кэша. Мы посчитали — на мелких джобах вышло дороже github-hosted.