Description
There has been discussion on ghc-devs about revitalizing the Haskell benchmarking suites. Stackage benchmark suites would appear to be one useful source of data. Indeed, there are almost 200 benchmark suites among the ~1,700 current LTS packages.
However, running Stackage benchamarks is currently hard to achieve, for several reasons:
- Tarballs generated from
cabal sdist
are often wrong (seepipes
, lts-5.13 which is missing a file) - There is no general way to map from a Hackage release back to the original source code commit.
- Stackage doesn't enforce that any benchmark suites build, much less run. (It does, however, build the dependencies of benchmark suites, except for a list that are skipped.)
- As a result, even popular packages like
lens-4.13
will error when you try to build their benchmarks.
While I understand that benchmarks were left out of the original stackage focus, is it perhaps time to start tightening the screws and weeding out these invalid tarballs?
Perhaps a first step would be a warning mechanism. The maintainers agreement has some hard deadlines, but perhaps failing benchmark suites builds could only be a soft warning for some period of time, and then later become a hard requirement along with the rest.
(CC @RyanGlScott @vollmerm @osa1)