fpco/stackage-curator

New section: tell-me-when-its-released

DanBurton opened this issue · 2 comments

We would like a new section added to build-constraints.yaml where we can specify that the current build plan should fail if a newer version of a specified library is available.

Example use case:

Say snap-1.0.0.0's test suite is broken. We open an issue on their tracker and add an expected test failure. Then the test suite gets fixed in the repo and the issue gets closed, but there is still no release on hackage so we can't remove the expected test failure yet. Then i'd like to add something like tell-me-when-its-released: snap > 1.0.0.0 to build-constraints which would cause stackage-curator to yell at us when the constraint is satisfied, i.e. when a new version (snap-1.0.0.1 or snap-1.0.1.0, ...) that probably contains the fix is out.

~ @bergmark

Question on behavior:

  • Should it just print out a loud and vocal message, or actually cause a check failure?
  • Do we want full version range logic, or simply put in a specific package version (like snap-1.0.0.0) and have it imply snap > 1.0.0.0?

Should it just print out a loud and vocal message, or actually cause a check failure?

I don't have strong feelings, but lean towards the latter. We have human intervention involved in the nightly builds often enough such that halting the build process for this isn't a terrible thing to do. If we want to get really fancy, we could print a loud warning for 1 day, and switch to actually causing a failure if the new version has been available for over 24 hrs, or something like that.

Do we want full version range logic, or simply put in a specific package version (like snap-1.0.0.0) and have it imply snap > 1.0.0.0?

I vote the latter: we put the version we expect (perhaps including hackage revision number?) and whenever the "latest" version of the package doesn't match the listed version, throw the warning/error.