GitHub hat jetzt einen neuen Runner in der Preview: ubuntu-slim. Hat nur 1 vCPU und “nur” 4GB RAM. Läuft nicht in einer VM, wie alle anderen Runner, sondern in einem Container.
Kostet aktuell 0.002$, ubuntu-latest ist bei 0.008$; also 1/4 der Kosten.
Gedacht ist der Runner für Automatisierungs-Tasks, für die ein “fetter” Standard-Runner zu overkill ist. GitHub rechnet ja pro angefangener Minute ab, also gehen für solche Automatisierungen mindestens 0.8 Cent pro Ausführung weg. Wenn man etwas beim Push laufen hat, am besten noch in einer Testmatrix, liegt man da schon bei ein paar Cent pro Push. In letzter Zeit wurde das bei mir so viel, dass ich sogar mein Spending-Limit erhöhen musste.
Jetzt hab ich fast alle Jobs auf ubuntu-slim umgestellt. Zumindest da, wo es geht. Da der Runner selbst in Docker läuft und sie den Docker-Socket nicht in den Container exposen, kann man da drin keine Images bauen (vielleicht mit Podman, hab ich noch nicht probiert). Bei Rust-Projekten könnte es auch schwierig werden, weil die Laufzeit des Slim-Runners auf 15 Minuten begrenzt ist. Das sehe ich als Feature, weil ein Task grundsätzlich nicht so lange dauern sollte (es sei denn, man benutzt einen Compiler, der halt ewig braucht; Rust). Und wenn der Runner mal wieder buggt und in irgendeinem Loop festhängt, kostet einem das nicht mehrere Stunden, die es braucht, bis der Runner timeoutet.
Gute Sache. Sie hätten das viel früher zusätzlich anbieten sollen. Es gibt Leute, die updaten alle 30 Minuten ihr README im Profil, wofür GitHub jedes mal eine VM mit 4 Kernen und 16 GB RAM hochfährt. Das ist einfach komplett unsinnig. Das README so oft zu updaten ist natürlich immer noch unsinnig, aber immerhin kann man dabei jetzt ein bisschen weniger Ressourcen verbrauchen.