Přejít na obsah

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

  1. Uložte do mezipaměti ~/.cabal/store nebo ~/.stack zakódovaný v souboru zmrazení nebo resolveru
  2. Také mezipaměť dist-newstyle nebo .stack-work pro přírůstkové opětovné použití
  3. Explicitně připněte verzi GHC – náraz vše zruší
  4. 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.