c4937ae9

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Add debug mode and GHC heap limits to instrumented compilation

- Add `--debug` plugin option that prints each mutation site as it is
  recorded, so we can trace what the plugin is doing during instrumented
  compilation.
- Add `ghcMemLimit` parameter (default 16g) to `addManifest.nix` and
  `mutationCheck` in `mutation-checks.nix`; pass it to GHC via `-M`.
- Override Nix's default `-j16 -A64M` with `-j1 -A32M --disable-optimization`
  to prevent superlinear memory use when compiling instrumented code.
- Enable debug mode and set explicit memory limits in both e2e checks.
- Skip `Text.Colour.Chunk` (189 mutations) in the safe-coloured-text check:
  even at -O0 -j1 GHC needs >16g to compile that module.

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 6s 6s 6s
Eval 6s 2m15s 2m15s 2m21s
Build 1m49s 1m48s 1m10s 2m59s
Test - - - -
Deploy - - - -
Suite 0s 4m10s 2m59s 2m59s

Timeline

0s20s40s1m1m20s1m40s2m2m20s2m40s