[ocaml-platform] Is it taking too long for OCaml software to become 4.03-compatible? Would release process changes help?

Simon Cruanes simon.cruanes.2007 at m4x.org
Wed Jun 29 18:14:33 BST 2016


Le Wed, 29 Jun 2016, Gabriel Scherer a écrit :
> I'm a bit frustrated with the time it takes for the OCaml ecosystem to
> catch up with the 4.03 release -- which has been released two months ago
> now, on April 25.
> 
>  ...
> 
> Do you agree that this is a problem? What could we do to fix that?

I agree, I wanted to update my packages after the release and had to
wait for oasis to work on 4.03; some other dependencies of projects of
mine also took some time. Even now, I just stumbled upon Coq 8.5 not
compiling, so I'd say the problem is real.
> 
> When I started writing this email I intended to send it to Damien Doligez,
> as the release manager of the compiler distribution, with the following
> suggestion: maybe we could have a *much longer* beta-testing period for
> OCaml versions that would be used not (only) for finding bugs in the new
> version, but also to let important pieces of the ecosystem update to the
> new version. Say, at least a month. We could have a fixed set of software
> that we monitor, or in fact all of what's in OPAM, and delay the release
> until they get updated/fixed or their OPAM version bounds get fixed. (Aha,
> a Platform indeed!)

As usual, the issue is: what set of packages is monitored, and who
chooses?

> Does that sound like a reasonable idea to you? Should we monitor all OPAM,
> or only a subset?

I think OWS should be used to see which packages are broken on the new
release, indeed. I would propose the following workflow:

- the beta-testing period, feature-frozen, starts (for some time)
- shortly, maintainers whose package doesn't compile (we know thanks to
  OWS) are emailed to be informed of the problem
- if, at the end of the beta-testing period (just before the release) a
  package that used to build on the previous release, but does not build
  anymore, is modified by opam-repo maintainers so it gets an upper
  bound on the OCaml version.

This means that, if no action is taken, a
package that does not build on 4.04 would have "ocaml-version < 4.04".
New releases of this package, that hopefully fix the build on 4.04,
would lift this barrier. It would also prevent opam from falling back
to old, incompatible versions of a package in case of conflict with
some other library.

New packages are checked for build on most versions of OCaml; I think
old packages should also be checked for compatibility with newer
versions of OCaml so that the appropriate bound check is added. I don't
add those bounds myself on my own packages (too tedious to do it on 15
old releases), so it should probably be automated.

Cheers!

-- 
Simon Cruanes

http://weusepgp.info/
key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3  7D8D 4AC0 1D08 49AA 62B6
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.ocaml.org/pipermail/platform/attachments/20160629/19d95de0/attachment.sig>


More information about the Platform mailing list