janestreet / base

Standard library for OCaml
MIT License
860 stars 125 forks source link

Required module `Bigarray' is unavailable #94

Open talex5 opened 4 years ago

talex5 commented 4 years ago

I'm trying to find out why capnp master's tests don't work on OCaml 4.07, and the Required module `Bigarray' is unavailable error seems to be connected to Base_quickcheck. I thought it would be good to enable CI on this repository to see if it shows up here too.

If you'd like to enable ocaml-ci here, go to https://github.com/apps/ocaml-ci and add the GitHub app to this organisation (making sure to limit it to just the base repository when prompted). I've already added janestreet to the whitelist, so no other configuration should be needed.

ghost commented 4 years ago

Hi Thomas,

Thanks for the whitelist! I admit I feel a bit nervous about enabling CI on individual projects under github.com/janestreet. Given that we have only a few people managing a large number of repositories, we prefer to have solutions that can be applied to all repositories the same way rather than have special cases. And adding a CI to each repository under github.com/janestreet feels like it would be a lot of places to monitor.

However, we are currently planning to create a compound github.com/universe (exact name TBD) repository that will include a copy of all of Jane Street packages + a copy of a few dependencies. Enabling the CI on this repository would be more manageable and even seem like a good thing to do. /cc @snowleopard who is preparing this repository.

talex5 commented 4 years ago

The default is to apply a GitHub App to all repositories, but I suggest limiting it to just this one to start with. First, to check that it works, and secondly to avoid overloading the CI (we're still scaling it up). But in the UI it's just a matter of choosing either All repositories, or choosing Only select repositories and then selecting the ones you want.

There is a per-organisation dashboard that shows the state of the master branch of each repository. e.g. for mirage: https://ci.ocamllabs.io/github/mirage

ghost commented 4 years ago

Thanks for the details. I'm going to enable it for "spawn" to start with as this repository is developed on github and I have added ocaml-ci as a discussion topic for our next public release meeting which is Tuesday next week.

ghost commented 4 years ago

@talex5 could you whitelist github.com/ocaml-dune as well?

talex5 commented 4 years ago

Done.

avsm commented 4 years ago

Looks like enabling it on spawn passed except for the lint test, where it discovered a diff for the dune files not following the formatter. https://ci.ocamllabs.io/github/janestreet/spawn/commit/5a67333b07564211a0d294a06f8769f756710cdf/variant/(lint-fmt)

ghost commented 4 years ago

Indeed, I reformatted the files.

talex5 commented 4 years ago

BTW, while testing the CI we've set it to require repositories to be selected individually (also, it's often a mistake, when people forget to make a selection). This is why ocaml-dune isn't doing anything at the moment.