Haskell
Haskell CI pe GitHub Actions
GHC recompilează întregul arbore de dependență la fiecare rulare CI.
35m → 9m
Construcție rece
35m → 2m
Construcție caldă
GHC recompilează întregul arbore de dependență la fiecare rulare CI.
De ce se întâmplă
Magazinul Cabal sau Stack nu este persistent, iar verificatorul de recompilare al GHC nu poate ajuta la o mașină nouă.
Ce să schimbi
- Cache ~/.cabal/store sau ~/.stack introdus pe fișierul de înghețare sau de rezolvare
- De asemenea, memorați cache dist-newstyle sau .stack-work pentru reutilizare incrementală
- Fixați versiunea GHC în mod explicit - o denivelare invalidează totul
- Utilizați un runner de 16 vCPU și -j pentru a paraleliza între pachete
Haskell pe runnerhut
Singura linie specifică pentru runnerhut este `runs-on: runnerhut-16vcpu-ubuntu-2404`. Orice altceva este standard GitHub Actions — aceleași acțiuni, aceleași secrete și același model de permisiuni pe care îl utilizați astăzi.
Următorul tău build poate fi de două ori mai rapid, la jumătate de preț
Începe gratuit. Plecarea înseamnă aceeași linie, iar acel diff îl publicăm și noi.
Similar
RustCargo reconstruiește întregul grafic de dependență pe aproape fiecare rulare CI.Du-teCompilările Go sunt rapide la nivel local și inexplicabil de lente în CI.Pythoninstalarea pip durează câteva minute și pytest rulează pe un singur nucleu.Node.jsnpm ci scrie zeci de mii de fișiere mici la fiecare rulare.