Runners de macOS alojados en GitHub frente a un Mac dedicado, con cuentas honestas
La tarifa por minuto es solo el principio de la comparación. Los runners de macOS alojados también te cobran trabajo que una máquina en caliente no repetiría. Y cuestan tiempo de ingeniería en colas. Esta página compara las dos opciones con tres niveles de uso realistas, y explica cada supuesto.
Los supuestos
- macOS alojado a $0.062 por minuto, la tarifa del runner estándar, redondeado por job.
- Un runner alojado en frío dedica unos 3 minutos por job a restaurar dependencias y reconstruir lo que una caché en caliente habría guardado. Ese tiempo se cobra.
- Un mini M6 dedicado a $139 fijos al mes, con cachés en caliente y sin restauración por job.
- GitHub no cobra la espera, pero existe. La cola para un runner de macOS suele ser de unos minutos en horas punta.
Tres equipos, un mes
light steady heavy
jobs per month 120 400 900
minutes per job 8 10 12
billed on hosted 1,320 min 5,200 min 13,500 min
incl. cache restore (360) (1,200) (2,700)
hosted cost $82 $322 $837
dedicated M6 $139 $139 $139
monthly difference -$37 +$203 +$718El equipo ligero debería quedarse en los runners alojados. El equipo constante ahorra un par de cientos de dólares al mes y tiene builds más rápidos. El equipo intensivo paga cada mes varias veces el precio de una máquina, y encima una más lenta.
De dónde salen los minutos ocultos
Cada job alojado empieza desde una imagen limpia. Vuelve a descargar los paquetes de SwiftPM, CocoaPods y partes del runtime del simulador. Luego reconstruye DerivedData desde cero. En un proyecto real son varios minutos cobrados por job antes de compilar nada de tu código. En una máquina dedicada esos artefactos se conservan. El segundo build del día empieza donde lo dejó el primero.
Velocidad, no solo dinero
La misma caché en caliente que elimina minutos cobrados elimina minutos de reloj. Los equipos que pasan un build alojado de 12 minutos a un Mac mini dedicado con caché en caliente suelen verlo terminar en 4 a 6 minutos. No hay cola delante. Es la diferencia entre revisar una pull request antes o después de comer.
Lo que un Mac dedicado no resuelve
- Matrices en paralelo. Una máquina ejecuta un job cada vez. Divide la matriz o añade unidades.
- Repositorios públicos. No ejecutes código de pull requests no fiables en una máquina que te importe. Deja esos jobs en los runners alojados.
- Alguien tiene que gestionarlo. Actualizaciones, el servicio del runner, los borrados. Eso es lo que hace MacRun por el precio fijo. En un alquiler sin más, es tu trabajo.
Haz tus propias cuentas en la calculadora, y consulta la tabla completa de tarifas en la página de precios de GitHub Actions.
Preguntas frecuentes
¿Un Mac dedicado siempre sale más barato que los runners de macOS alojados en GitHub?
+
No. Por debajo de unos 2,242 minutos de macOS al mes, pagar por uso cuesta menos que una máquina a $139 fijos. Por encima, el Mac dedicado es más barato, y la diferencia crece con el uso.
¿Por qué los runners alojados cobran más minutos de los que dura mi build?
+
Porque cada job empieza en una imagen limpia. Gasta minutos cobrados en restaurar dependencias y reconstruir cachés antes de compilar. Una máquina dedicada en caliente se salta ese trabajo en cada job después del primero.
¿Cuánto más rápido es un Mac mini dedicado que un runner alojado?
+
Con caché en caliente y sin cola, un build alojado de 12 minutos suele terminar en 4 a 6 minutos. La mejora exacta depende de cuánto de tu build sea trabajo de dependencias y caché.
¿Puedo usar los dos a la vez?
+
Sí, y muchos equipos lo hacen. Ejecuta el build de la rama main y la mayoría de las pull requests en el Mac dedicado. Deja las matrices amplias de dispositivos y los jobs de repositorios públicos en los runners alojados de GitHub.