Quanto custam de verdade os minutos de macOS no GitHub Actions
O GitHub cobra o tempo dos runners macOS a um múltiplo bem alto do tempo de Linux. Esta página detalha as tarifas. Mostra a partir de que ponto uma máquina dedicada com preço fixo passa a cobrança por uso. E lista as formas práticas de reduzir uma conta de CI no macOS.
As tarifas
Nos runners hospedados pelo GitHub, o minuto de Linux custa cerca de $0.006 e o de macOS cerca de $0.062 a $0.102. Depende do tamanho do runner que você escolhe. É um multiplicador de umas 10 a 20 vezes pelo mesmo minuto de relógio.
Para todas as tarifas de runner e os minutos grátis de cada plano, veja os preços do GitHub Actions explicados.
Os minutos incluídos nos planos pagos também são gastos com uma tarifa ponderada. Um minuto de macOS consome a sua cota muito mais rápido que um de Linux. A maioria das equipes de iOS esgota a cota no começo do mês e paga por minuto depois disso.
De onde vem o multiplicador
- O macOS só roda em hardware da Apple. Os provedores não conseguem colocar cargas de macOS em servidores comuns como fazem com Linux.
- A licença da Apple define como os Macs são alugados e compartilhados. Isso limita a venda acima da capacidade.
- Os runners hospedados começam do zero a cada job. Então você também paga minutos para baixar de novo dependências e refazer caches que já tinha.
A conta do ponto de equilíbrio
Na tarifa mais baixa de $0.062 a $0.102 por minuto, um runner dedicado a $139 fixos por mês se paga em cerca de 2,242 minutos por mês. Para ter uma ideia, são alguns pull requests por dia num projeto iOS real com testes.
3,000 min/mo metered $240 to $480 flat $139 6,000 min/mo metered $480 to $960 flat $139 12,000 min/mo metered $960 to $1,920 flat $139
Coloque os seus minutos na calculadora para ver o número exato da sua equipe.
Formas de baixar a conta
- Passe para o Linux o que não é macOS. Lint, testes unitários de pacotes compartilhados e ferramentas de release raramente precisam de um Mac.
- Use cache sem dó. Nos runners hospedados, restaure os caches de SwiftPM, CocoaPods e DerivedData. Assim você para de pagar para refazer tudo.
- Corte o desperdício da matriz. Rode a matriz completa de dispositivos na main e uma só configuração nos pull requests.
- Mude para preço fixo depois do ponto de equilíbrio. Se você fica sempre acima de 2,242 minutos, pagar por uso é a opção mais cara que existe.
Perguntas frequentes
Quanto custa um minuto de macOS no GitHub Actions?
+
Cerca de $0.062 a $0.102 por minuto, conforme o tamanho do runner, contra uns $0.006 no Linux. Os minutos de macOS também consomem os minutos incluídos no plano com um multiplicador.
Por que os runners macOS são tão mais caros que os de Linux?
+
O macOS só pode rodar legalmente em hardware da Apple. Os provedores não conseguem juntar essas cargas em servidores comuns e baratos, e a licença da Apple limita como as máquinas são compartilhadas. O hardware é dedicado e o custo dele é dividido pelos seus minutos.
A partir de quando um Mac dedicado sai mais barato que pagar por minuto?
+
Na tarifa mais baixa, uma máquina a $139 fixos por mês se paga em cerca de 2,242 minutos de macOS por mês. Acima disso, o preço fixo sai mais barato e a diferença cresce a cada build.
Os minutos incluídos no plano do GitHub cobrem builds de macOS?
+
Em parte. Os minutos incluídos são gastos com uma tarifa ponderada no macOS. Por isso a cota acaba bem antes do que o número sugere. Equipes que compilam todo dia costumam passar para minutos pagos na primeira ou segunda semana do mês.