@xavierleroy recently observed the madness of well intentioned open source crowds:
Right, we stopped supporting native-code compilation to 32-bit architectures in OCaml 5, but we’re good people, so we committed on maintaining OCaml 4 for the forseeable future, including all its 32 bit code generators.
Then, the OPAM-CI folks are good people, so they committed on testing ARM-32 for all packages.
Then, the OPAM repository maintainers are good people, so they duly report CI failures on ARM-32.
Then, all these good people end up wasting time reporting and fixing 20-year old oddities in OCaml’s ARM-32 code generator, despite the fact that it is completely irrelevant.
While there is now consensus on dropping arm32 and x86_32 from our test matrix, and I am dropping opam 2.0 as well, we can go yet further in our austerity measures.
We currently test every version from 4.08 → 5.4 in opam-repo-ci, and the intermediate versions only have a couple of uses:
- to detect when a package is using some new stdlib function to put a lower bound on the CI. We can just figure this out from the OCaml changes file; no need to test on every single compiler.
- find a historical bug. We mostly don’t care about these.
Therefore, I’m proposing to create a list of ‘significant’ releases that we will against:
- 4.08 (the lowest bound)
- 4.14 (the latest LTS)
- 5.2 (used by Jane Street as their OxCaml base, so it seems important)
- 5.3 (latest release - 1)
- 5.4 (latest release)
This will greatly reduce our CI burden, which has just moved backed to the Cambridge Computer Lab where our air conditioning has a habit of falling over every summer if it works too hard.
I’m also staring at the compiler variants that we generate base images for, and may hack and slash some of those. Does anyone use flambda+fp? One seems to give performance, and the other taketh away.
Hopefully with this reduction we’ll stop generating annoying bug reports for obsolete features, but I’m also keen to hear from anyone who does use some of these images and would like for them to stick around!