[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] supported OCaml versions



On Friday, 17.11.2017 at 10:19, Mindy Preston wrote:
> On 11/17/17 07:14, Hannes Mehnert wrote:
> 
> > Dear people,
> > 
> > the current state:
> > - MirageOS3 was advertised as "working with OCaml 4.03 upwards"
> > - mirage-xen works as of now only with 4.04.2
> > - OCaml 4.06 was released with a major breaking change (safe-string)
> > 
> >  From some discussion on IRC, the following seems to be consensus (please
> > discuss if you've other opinions):
> > - Mirage supports 4.04.2 upwards (this is true for the mirage tool
> > itself as well as libraries only used with mirage, other libraries used
> > elsewhere as well (such as ipaddr, uri, cstruct, tls, etc.) may want to
> > support more OCaml versions
> > - travis CI in the repositories should test 4.04.2 and 4.06 (to avoid
> > having a huge blowup of options)
> 
> Do we lose anything by not testing 4.05.0?

IMO should definitely test 4.05.0, given the number of changes required for
4.06.0, its relative newness, and current lack of support in mirage-xen.

> > - NB: if a repository doesn't rely on external C code, there's no real
> > need to test it with all the linux distributions available.
> > 
> > 4.03 may still work, but we're not putting much effort into maintaining
> > compatibility --> we can safely bump to 'available: [ ocaml-version >=
> > "4.04.2" ]' in opam.
> 
> For mirage itself and libraries used only in mirage, sure.  My experience
> trying to support a range of ocaml-version stanzas in that ball of
> repositories was pretty bad last time and I think it's best to keep them
> bounded to the same compiler.

I'm keen on narrowing down the number of supported versions also for Solo5
and related packages. This will have the benefit of reducing wasted CI (and
thus developer) time.

If the consensus is that we support >= 4.04.2 in Mirage as a whole, then
for ocaml-freestanding, mirage-solo5, mirage-*-solo5 I would go with the
following steps:

1. Document the >= 4.04.2 requirement somewhere. Probably in the
mirage-solo5 and ocaml-freestanding READMEs since I don't know of a better
place at this stage.

2. Add an explicit "available: [ ocaml-version >= "4.04.2" ]" constraint to
all affected packages, and get that propagated to opam-repository.

3. Remove OCaml versions < 4.04.2 from Travis CI for all affected packages.

4. Ideally Datakit CI should also no longer test on the old compiler
versions to prevent spurious failures, presumably the right thing will
happen there due to the availability constraints automatically?

My justification for point 2. is that if we're no longer testing on those
compilers then you should not be able to install the package on them
either.

WDYT?

-mato

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.