Build/CI updates

Thomas Leonard <[email protected]> Sun, 8 Jan 2017 22:28:04 +0000
Newsgroups gmane.comp.file-systems.zero-install.devel
Message-ID <CAG4opy84KHxcuu4w_P7k_K8s4-k1QgteNbTab32FUvnFzdBw=A@mail.gmail.com>
I've made a few improvements to the build:

- Instead of ignoring all deprecation warnings, it now tags just the
three places we care about.
- To do this, I dropped support for OCaml 4.01, since attributes were
added in 4.02.
- Travis is now also testing OCaml 4.04.
- Warnings are now fatal when building under a CI (when $CI=true).
- We should now be compatible with Lwt 3.0 when it comes out.

Also, the AppVeyor Windows build recently stopped working. When I
upgraded to the latest script to fix that, I found it now tries
running the unit-tests on Windows, which has never worked. So, I've
gone through the errors and either fixed them or configured it to skip
that test on Windows. So "make test" should now pass on Windows.

There are 117 tests skipped on Windows now (out of 295). If someone
with an actual Windows machine wants to help out, grep for "skip_if
on_windows" lines. Each one has a note saying why it doesn't work. Two
common failures that would unblock a lot of tests if fixed are:

- Tar complains about paths for some reason (Windows vs Cygwin
paths?). That stops all the tests involving tar archives from working.
- Stat sometimes returns -1 for the mtime of a file. Sometimes I use
quite early times (e.g. 30 seconds after the Unix epoch) in the tests.
Maybe Windows doesn't support these well?


-- 
talex5 (GitHub/Twitter)        http://roscidus.com/blog/
GPG: 5DD5 8D70 899C 454A 966D  6A51 7513 3C8F 94F6 E0CC
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot