Proposal: make the minimum tested opam 2.1 and higher

Much as we did a while back with raising the minimum version of OCaml tested to 4.08, it’s now time to raise the minimum version of opam that we test in the CI matrix.

opam 2.0.0 was released in 2018, and ever since then the Docker images have built every version, with the default being the minimum version (2.0.x) all the way through to 2.5.x.

I now propose that we raise the minimum tested version of opam to 2.1.x. Looking in repology/opam, the only notable distro still shipping opam 2.0 is Ubuntu 20.04, which went EOL in May 2025. Ubuntu 24.04 still has have 2.1.x, so I expect this will be the testing floor for some years until that rotates out.

The most observable improvement from this will be the opam-repository CI ‘The actions to process have cyclic dependencies’ failure will no longer bug us for every package submitted that has {with-test} clauses!

18 Likes

I’m in favor, and this will be a welcome improvement!

3 Likes

It would also allow us to get rid of ocaml/ocaml-beta-repository which these days is a somewhat irritating additional complexity to the installation instructions for OCaml compiler pre-releases.

2 Likes

Would you propose freezing opam 2.0 to a fixed repository, as we did with OPAM 1.2.x, or possibly just making opam update / opam init display a “Caveat emptor” warning?

You raise a good point; while the vast bulk of packages still work fine with opam-version: 2.0, there are still a large number of opam-version >= 2.1 constraints sprinkled through the current opam repository.

We might as well freeze opam 2.0 to a fixed repository at this point, and then do a cleanup of the live repository to assume an opam version of 2.1 or higher.

1 Like

I am also in favour. There are many packages now in which the only errors are the timeouts or cyclic dependencies issues from the opam 2.0 tests. This would avoid the annoyance and remove unnecessary tests from the CI

1 Like