Mechanical checking of submodule versions for releases
In the past there have been a few cases where we have put out GHC releases which have shipped with submodule versions which do not correspond with a released package version (e.g. #16199 (closed)).
This should never happen. In principle the output of git submodule
should be checked before a release is cut to ensure that all submodules point to tags. However, in practice this has proved to be insufficient due to two sources of false-positives:
- our old mirroring infrastructure often failed to pick up tags
- often we get away with a mere Hackage revision, which typically aren't tagged
Thankfully (1) should no longer be a problem with the move to GitLab. Moreover, now since we finally have reliable CI we can automate release creation. However, it's not entirely clear how to reliably verify the consistency of submodules in light of problem (2).
Edited by Ben Gamari