<div dir="ltr">Hello,<div><br></div><div>Last year there was an initiative to execute Stackage nightly build plans with development versions of GHC and by comparing results that we obtain with different commits we could detect how they affect packages in our ecosystem. Thus we potentially can detect regressions and other suspicious changes.</div><div><br></div><div><div>* The original blog post introducing the initiative: <a href="https://www.tweag.io/posts/2017-10-27-stackage-head.html">https://www.tweag.io/posts/2017-10-27-stackage-head.html</a></div><div>* A talk from HIW'17: <a href="https://www.youtube.com/watch?v=UAI-mplXUkY">https://www.youtube.com/watch?v=UAI-mplXUkY</a></div></div><div><br></div><div>Recently we resumed working on this and actually I'm happy to announce that Stackage HEAD is functional now. In fact, a bit unexpectedly, it detected something today:</div><div><br></div><div><a href="https://ghc.haskell.org/trac/ghc/ticket/15022">https://ghc.haskell.org/trac/ghc/ticket/15022</a></div><div><br></div><div>This is not necessarily a bug or regression, but still fewer test suites of stm-delay build at 3cfb12d8adac37e5565d66fd173e4648cc041e65 than before at 5161609117c16cb7b29b2b8b1cd41e74341d4137 which is a suspicious change to Stackage HEAD build report manager.</div><div><br></div><div>There is a short description how it works here: <a href="https://github.com/tweag/stackage-head#how-it-works">https://github.com/tweag/stackage-head#how-it-works</a></div><div><br></div><div>The logic that determines if a change in status of a package is suspicious is here:</div><div><br></div><div><a href="https://github.com/tweag/stackage-head/blob/master/Stackage/HEAD/BuildDiff.hs#L61-L94">https://github.com/tweag/stackage-head/blob/master/Stackage/HEAD/BuildDiff.hs#L61-L94</a></div><div><br></div><div>And the entire source code of the tool is available here:</div><div><br></div><div><a href="https://github.com/tweag/stackage-head">https://github.com/tweag/stackage-head</a><br></div><div><br>As you can see, a package can either fail to build, or be unreachable (due to failing dependencies) or it can succeed in which case we record number of succeeding/failing test suites.<br></div><div><br></div><div>Currently statistics look like this (with nightly-2018-04-05):</div><div><br></div><div>* Failing packages: 5</div><div>* Unreachable packages: 794</div><div>* Packages that build: 897</div><div><br></div><div>The build takes about one hour.</div><div><br></div><div>Circle CI logs are available here:</div><div><br></div><div><a href="https://circleci.com/gh/tweag/stackage-head">https://circleci.com/gh/tweag/stackage-head</a><br></div><div><br></div><div>I configured this to run 4 times per day for a start. I'll receive email notifications on failures which I plan to convert to trac tickets manually (for now.).</div><div><br></div><div>I could not find a way to make Circle CI send emails to other people like Ben, but I see there are various hook available, so we could use some of them if desirable.</div><div><br></div><div>Best,</div><div><br></div><div>Mark</div><div><br></div><div><br></div></div>