build checks.x86_64-linux.e2e-dirty-project-is-judged-failing

Reproduce this run
  1. 0.25 s $ /nix/store/9ypz3flqsrl5xl495mm8h645gadjsxi1-coreutils-9.11/bin/timeout --kill-after=15s 7200s /nix/store/23zk8sgzamrbmj1fday15szf7f2279s8-nix-2.34.7/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link --print-out-paths git+https://x-access-token:<REDACTED:GITHUB_ACCESS_TOKEN>@github.com/NorfairKing/hopinion?ref=initial&rev=499671eb3ca5305986dc0c38561eb9dd8b1753d2&shallow=1#checks.x86_64-linux.e2e-dirty-project-is-judged-failing --print-build-logs
  2. 1.96 s
  3. 2.78 s Building /nix/store/yf35rdc0wzhk9j7lvlnp541pn3ms3z06-lonely-hopinion.drv
  4. 2.80 s Building /nix/store/mqbz5w1v6qlhgwb83a6hf37z574d7xbb-thing-gen-hopinion.drv
  5. 2.85 s [lonely-hopinion] [error HsGenValidInGenPackage]: A GenValid instance outside a -gen package.
  6. 2.85 s [lonely-hopinion] ╭──▶ lonely/src/Lonely.hs@8:1-8:25
  7. 2.85 s [lonely-hopinion]
  8. 2.85 s [lonely-hopinion] 8 │ instance GenValid Orphan
  9. 2.85 s [lonely-hopinion]
  10. 2.85 s [lonely-hopinion] ╰╸ Put generators (like GenValid instances) in the <package>-gen package
  11. 2.85 s [lonely-hopinion]
  12. 2.85 s [lonely-hopinion] Note: From haskell-style.md. A GenValid instance in a package's own library gets compiled into the executable. Move it to the matching -gen package.
  13. 2.85 s [lonely-hopinion] Note: A generator is test code, and an instance in the library is linked into everything that depends on the library, so the shipped executable carries QuickCheck and the generators with it. The -gen package exists so that dependency stops at the test suite, which is also what keeps a generator free to be as slow or as elaborate as the property needs.
  14. 2.85 s [lonely-hopinion] Hint: To suppress, write this directly above line 8 of lonely/src/Lonely.hs, and say why: -- [allow:HsGenValidInGenPackage] <reason>
  15. 2.85 s [lonely-hopinion] ─────╯
  16. 2.90 s [lonely-hopinion:post-build] Uploading to the NixCI staging cache: /nix/store/9ig8g31cxgcmarfddbvdfk524dij350f-lonely-hopinion
  17. 2.96 s [lonely-hopinion:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  18. 2.97 s [lonely-hopinion:post-build] copying 1 paths...
  19. 2.97 s [lonely-hopinion:post-build] copying path '/nix/store/9ig8g31cxgcmarfddbvdfk524dij350f-lonely-hopinion' to 'https://cache.staging.nix-ci.com'...
  20. 3.10 s [lonely-hopinion:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  21. 3.28 s [lonely-hopinion:post-build] copying 0 paths...
  22. 3.31 s Uploaded lonely-hopinion in 418ms
  23. 3.31 s Progress: 1 of 5 built (1 building)
  24. 3.31 s Built lonely-hopinion in 533ms
  25. 3.33 s [thing-gen-hopinion:post-build] Uploading to the NixCI staging cache: /nix/store/gzd5lckyzi9y1iajzjjw2m61i684f796-thing-gen-hopinion
  26. 3.38 s [thing-gen-hopinion:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  27. 3.40 s [thing-gen-hopinion:post-build] copying 1 paths...
  28. 3.40 s [thing-gen-hopinion:post-build] copying path '/nix/store/gzd5lckyzi9y1iajzjjw2m61i684f796-thing-gen-hopinion' to 'https://cache.staging.nix-ci.com'...
  29. 3.55 s [thing-gen-hopinion:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  30. 3.69 s [thing-gen-hopinion:post-build] copying 0 paths...
  31. 3.72 s Uploaded thing-gen-hopinion in 400ms
  32. 3.72 s Progress: 2 of 5 built
  33. 3.72 s Built thing-gen-hopinion in 918ms
  34. 3.76 s Building /nix/store/0lnkd7qcw3clqvirjznam52hihyjymcw-hopinion-project.drv
  35. 3.85 s [hopinion-project] [error HsGenValidInGenPackage]: A GenValid instance outside a -gen package.
  36. 3.85 s [hopinion-project] ╭──▶ lonely/src/Lonely.hs@8:1-8:25
  37. 3.85 s [hopinion-project]
  38. 3.85 s [hopinion-project] 8 │ instance GenValid Orphan
  39. 3.85 s [hopinion-project]
  40. 3.85 s [hopinion-project] ╰╸ Put generators (like GenValid instances) in the <package>-gen package
  41. 3.85 s [hopinion-project]
  42. 3.85 s [hopinion-project] Note: From haskell-style.md. A GenValid instance in a package's own library gets compiled into the executable. Move it to the matching -gen package.
  43. 3.85 s [hopinion-project] Note: A generator is test code, and an instance in the library is linked into everything that depends on the library, so the shipped executable carries QuickCheck and the generators with it. The -gen package exists so that dependency stops at the test suite, which is also what keeps a generator free to be as slow or as elaborate as the property needs.
  44. 3.85 s [hopinion-project] Hint: To suppress, write this directly above line 8 of lonely/src/Lonely.hs, and say why: -- [allow:HsGenValidInGenPackage] <reason>
  45. 3.85 s [hopinion-project] ─────╯
  46. 3.85 s [hopinion-project]
  47. 3.85 s [hopinion-project] [error TestGenValidSpecPerGenValid]: No genValidSpec @Orphan anywhere, and there is no lonely-gen for it to be written in.
  48. 3.85 s [hopinion-project] ╭──▶ lonely/src/Lonely.hs@8:1-8:25
  49. 3.85 s [hopinion-project]
  50. 3.85 s [hopinion-project] 8 │ instance GenValid Orphan
  51. 3.85 s [hopinion-project]
  52. 3.85 s [hopinion-project] ╰╸ For every GenValid instance, have a genValidSpec @FooBar
  53. 3.85 s [hopinion-project]
  54. 3.86 s [hopinion-project] Note: From testing.md. A GenValid instance creates an obligation: genValidSpec @T must be called in the test suite of that package's gen package.
  55. 3.86 s [hopinion-project] Note: A generator nothing runs is a generator nobody has checked. genValid can produce values the type's own Validity instance rejects, and shrinkValid can shrink to them, and every property built on it inherits that quietly: the failures it reports are about values the code was never meant to see. genValidSpec asserts exactly the two things the instance promises, and it is one line. The spec belongs to the package that declares the instance, because a spec written next door disappears the day that other package stops mentioning the type.
  56. 3.86 s [hopinion-project] Hint: To suppress, write this directly above line 8 of lonely/src/Lonely.hs, and say why: -- [allow:TestGenValidSpecPerGenValid] <reason>
  57. 3.86 s [hopinion-project] ─────╯
  58. 3.86 s [hopinion-project]
  59. 3.86 s [hopinion-project] [error CommentBareTodo]: A bare TODO. Reference an issue or a URL, or do it.
  60. 3.86 s [hopinion-project] ╭──▶ thing/src/Thing.hs@3:1-3:58
  61. 3.86 s [hopinion-project]
  62. 3.86 s [hopinion-project] 3 │ -- TODO a bare marker, which is the module-level finding.
  63. 3.86 s [hopinion-project]
  64. 3.86 s [hopinion-project] ╰╸ A bare TODO: do it, reference an issue, or say concretely what is missing
  65. 3.86 s [hopinion-project]
  66. 3.86 s [hopinion-project] Note: From comments.md. A TODO needs an issue reference or a URL saying where the follow-up is tracked.
  67. 3.86 s [hopinion-project] Note: A TODO nothing points at is a note nobody is holding. It reads like a plan, so the next reader assumes it is one, and it goes stale in place because nothing brings it back up. A reference makes it findable from wherever the work is actually tracked; doing it makes the note unnecessary. If it is neither tracked nor worth doing, the honest version is a comment that says what is missing and what would make it worth doing.
  68. 3.86 s [hopinion-project] Hint: To suppress, write this directly above line 4 of thing/src/Thing.hs, and say why: -- [allow:CommentBareTodo] <reason>
  69. 3.86 s [hopinion-project] ─────╯
  70. 3.86 s [hopinion-project]
  71. 3.86 s [hopinion-project] [error HsGenValidInGenPackage]: A GenValid instance outside a -gen package.
  72. 3.86 s [hopinion-project] ╭──▶ thing/src/Thing.hs@9:1-9:25
  73. 3.86 s [hopinion-project]
  74. 3.86 s [hopinion-project] 9 │ instance GenValid Widget
  75. 3.86 s [hopinion-project]
  76. 3.86 s [hopinion-project] ╰╸ Put generators (like GenValid instances) in the <package>-gen package
  77. 3.86 s [hopinion-project]
  78. 3.86 s [hopinion-project] Note: From haskell-style.md. A GenValid instance in a package's own library gets compiled into the executable. Move it to the matching -gen package.
  79. 3.86 s [hopinion-project] Note: A generator is test code, and an instance in the library is linked into everything that depends on the library, so the shipped executable carries QuickCheck and the generators with it. The -gen package exists so that dependency stops at the test suite, which is also what keeps a generator free to be as slow or as elaborate as the property needs.
  80. 3.86 s [hopinion-project] Hint: To suppress, write this directly above line 9 of thing/src/Thing.hs, and say why: -- [allow:HsGenValidInGenPackage] <reason>
  81. 3.86 s [hopinion-project] ─────╯
  82. 3.86 s [hopinion-project]
  83. 3.86 s [hopinion-project] [error TestGenValidSpecPerGenValid]: No genValidSpec @Widget anywhere in thing-gen's test suite.
  84. 3.86 s [hopinion-project] ╭──▶ thing/src/Thing.hs@9:1-9:25
  85. 3.86 s [hopinion-project]
  86. 3.86 s [hopinion-project] 9 │ instance GenValid Widget
  87. 3.86 s [hopinion-project]
  88. 3.86 s [hopinion-project] ╰╸ For every GenValid instance, have a genValidSpec @FooBar
  89. 3.86 s [hopinion-project]
  90. 3.86 s [hopinion-project] Note: From testing.md. A GenValid instance creates an obligation: genValidSpec @T must be called in the test suite of that package's gen package.
  91. 3.86 s [hopinion-project] Note: A generator nothing runs is a generator nobody has checked. genValid can produce values the type's own Validity instance rejects, and shrinkValid can shrink to them, and every property built on it inherits that quietly: the failures it reports are about values the code was never meant to see. genValidSpec asserts exactly the two things the instance promises, and it is one line. The spec belongs to the package that declares the instance, because a spec written next door disappears the day that other package stops mentioning the type.
  92. 3.86 s [hopinion-project] Hint: To suppress, write this directly above line 9 of thing/src/Thing.hs, and say why: -- [allow:TestGenValidSpecPerGenValid] <reason>
  93. 3.86 s [hopinion-project] ─────╯
  94. 4.01 s [hopinion-project:post-build] Uploading to the NixCI staging cache: /nix/store/inaqlm4yi7y78ai4kx8v36lfiz9y1pcb-hopinion-project
  95. 4.06 s [hopinion-project:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  96. 4.07 s [hopinion-project:post-build] copying 1 paths...
  97. 4.07 s [hopinion-project:post-build] copying path '/nix/store/inaqlm4yi7y78ai4kx8v36lfiz9y1pcb-hopinion-project' to 'https://cache.staging.nix-ci.com'...
  98. 4.20 s [hopinion-project:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  99. 4.37 s [hopinion-project:post-build] copying 0 paths...
  100. 4.40 s Uploaded hopinion-project in 411ms
  101. 4.40 s Progress: 3 of 5 built
  102. 4.40 s Built hopinion-project in 643ms
  103. 4.44 s Building /nix/store/59nmifmaq95p0afi0lixqri0j3zylsg5-e2e-dirty-project-is-judged-failing.drv
  104. 4.52 s [e2e-dirty-project-is-judged-failing:post-build] Uploading to the NixCI staging cache: /nix/store/hjs80vj2bq4p2vl2qczl5x9lbgi6d1qw-e2e-dirty-project-is-judged-failing
  105. 4.59 s [e2e-dirty-project-is-judged-failing:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  106. 4.60 s [e2e-dirty-project-is-judged-failing:post-build] copying 1 paths...
  107. 4.60 s [e2e-dirty-project-is-judged-failing:post-build] copying path '/nix/store/hjs80vj2bq4p2vl2qczl5x9lbgi6d1qw-e2e-dirty-project-is-judged-failing' to 'https://cache.staging.nix-ci.com'...
  108. 4.76 s [e2e-dirty-project-is-judged-failing:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  109. 4.92 s [e2e-dirty-project-is-judged-failing:post-build] copying 0 paths...
  110. 4.95 s Uploaded e2e-dirty-project-is-judged-failing in 443ms
  111. 4.95 s Progress: 4 of 5 built
  112. 4.95 s Built e2e-dirty-project-is-judged-failing in 513ms
  113. 4.95 s Progress: 5 of 5 built
  114. 4.95 s /nix/store/hjs80vj2bq4p2vl2qczl5x9lbgi6d1qw-e2e-dirty-project-is-judged-failing
  115. 5.01 s Build succeeded.