Haskell
Haskell CI na GitHub Actions
GHC znovu zkompiluje celý strom závislostí při každém spuštění CI.
35m → 9m
Studená konstrukce
35m → 2m
Teplá konstrukce
GHC znovu zkompiluje celý strom závislostí při každém spuštění CI.
Proč se to děje
Úložiště Cabal nebo Stack není trvalé a kontrola rekompilace GHC nemůže pomoci na novém počítači.
Co změnit
- Uložte do mezipaměti ~/.cabal/store nebo ~/.stack zakódovaný v souboru zmrazení nebo resolveru
- Také mezipaměť dist-newstyle nebo .stack-work pro přírůstkové opětovné použití
- Explicitně připněte verzi GHC – náraz vše zruší
- Použijte 16 vCPU runner a -j k paralelizaci mezi balíčky
Haskell on runnerhut
Jediná řada specifická pro runnerhut je `runs-on: runnerhut-16vcpu-ubuntu-2404`. Vše ostatní je standardní GitHub Actions — stejné akce, stejná tajemství a stejný model oprávnění, který používáte dnes.
Váš další build může být dvakrát rychlejší za poloviční cenu
Začněte zdarma. Odchod je tentýž jeden řádek a i ten diff zveřejňujeme.