Runner macOS di GitHub o un Mac dedicato, costi alla mano
La tariffa al minuto è solo l’inizio del confronto. I runner macOS ospitati ti fanno pagare anche lavoro che una macchina calda non ripeterebbe. E costano tempo degli sviluppatori in coda. Questa pagina confronta le due opzioni a tre livelli di utilizzo realistici, con ogni ipotesi dichiarata.
Le ipotesi
- macOS ospitato pagato $0.062 al minuto, la tariffa del runner standard, con arrotondamento per job.
- Un runner ospitato a freddo passa circa 3 minuti per job a ripristinare le dipendenze e ricostruire ciò che una cache calda avrebbe tenuto. È tempo fatturato.
- Un M6 mini dedicato a un fisso di $139 al mese, con cache calde e nessun ripristino per job.
- GitHub non fa pagare l’attesa, ma l’attesa è reale. Nelle ore di punta la coda per un runner macOS dura spesso qualche minuto.
Tre team, un mese
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 +$718Il team leggero dovrebbe restare sui runner ospitati. Il team costante risparmia un paio di centinaia di dollari al mese e ha build più veloci. Il team intenso paga ogni mese più volte il costo di una macchina, e ne ottiene una più lenta.
Da dove vengono i minuti nascosti
Ogni job ospitato parte da un’immagine pulita. Riscarica i pacchetti SwiftPM, i CocoaPods e parti del runtime del simulatore, poi ricostruisce la DerivedData da zero. In un progetto reale sono diversi minuti fatturati per job, prima che si compili una riga del tuo codice. Su una macchina dedicata quei file restano. La seconda build della giornata riparte da dove si era fermata la prima.
Velocità, non solo soldi
La stessa cache calda che elimina minuti fatturati elimina anche minuti di attesa reale. Spesso una build ospitata da 12 minuti, spostata su un Mac mini dedicato con cache calda, finisce in un tempo da 4 a 6 minuti. Davanti non c’è nessuna coda. È la differenza tra una pull request verificata prima di pranzo e una verificata dopo.
Cosa non risolve un Mac dedicato
- Matrici parallele. Una macchina esegue un job alla volta. Dividi la matrice o aggiungi unità.
- Repository pubblici. Non eseguire codice non fidato delle pull request su una macchina a cui tieni. Lascia quei job sui runner ospitati.
- Qualcuno deve gestirla. Aggiornamenti, servizio del runner, cancellazioni. È ciò che MacRun fa per il prezzo fisso. Con un semplice noleggio della macchina, tocca a te.
Fai i tuoi conti nel calcolatore, e trovi la tabella completa delle tariffe nella pagina sui prezzi di GitHub Actions.
Domande frequenti
Un Mac dedicato costa sempre meno dei runner macOS ospitati da GitHub?
+
No. Sotto circa 2,242 minuti macOS al mese, la fatturazione a consumo costa meno di una macchina fissa a $139. Sopra quella soglia il Mac dedicato costa meno, e la differenza cresce con l’uso.
Perché i runner ospitati fatturano più minuti di quanto dura la mia build?
+
Perché ogni job parte da un’immagine pulita. Prima di compilare, spende minuti fatturati a ripristinare le dipendenze e ricostruire le cache. Una macchina dedicata calda salta quel lavoro in ogni job dopo il primo.
Quanto è più veloce un Mac mini dedicato di un runner ospitato?
+
Con una cache calda e senza coda, una build ospitata da 12 minuti finisce spesso in un tempo da 4 a 6 minuti. Il guadagno esatto dipende da quanto della tua build è lavoro su dipendenze e cache.
Posso usarli entrambi?
+
Sì, e molti team lo fanno. Esegui sul Mac dedicato la build del branch principale e quasi tutte le pull request. Lascia sui runner ospitati da GitHub le matrici ampie di dispositivi e i job dei repository pubblici.