Boost tests are disabled on Windows for now because the detection
is actually completely broken. Once that's fixed (after the release)
we can enable it again.
* Install pip on msys (which doesn't have it)
* Install codecov/coverage everywhere.
* Generate coverage XML file manually because codecov tries to call the
coverage script itself and it's in a weird place on the path.
Appveyor takes a *long* time to run (~45 minutes per commit currently),
and it does no parallelism. It is possible to skip merge requests that
only touch documentation, this commit adds that support.
Because Appveyor (and Travis) test a merge of the pull request into
master and not the branch itself this will only skip builds that only
touch docs, and not pull requests that do both doc and non-doc changes.
They are the 'weird' platforms, so we want them to be run first.
That way we don't have to wait for all the other tests before finding
out that something broke.
This reduces our CI running time by roughly half without compromising
much test coverage by much. We can mostly safely assume that very few
Meson bugs will be arch-specific with Visual Studio.
The 'Visual Studio 2017' image does not include VS2010, so we have to use
the 'Visual Studio 2015' image by default and only use the 2017 image for
msvc2017 compiler tests.
It causes the cpython tests to fail when using the x86_64 toolchain.
tachyon_module.c.obj : error LNK2019: unresolved external symbol __imp_PyLong_FromLong referenced in function phaserize
tachyon_module.c.obj : error LNK2019: unresolved external symbol __imp_PyArg_ParseTuple referenced in function phaserize
tachyon_module.c.obj : error LNK2019: unresolved external symbol __imp_PyModule_Create2 referenced in function PyInit_tachyon
c:\\python34/libs\python34.lib : warning LNK4272: library machine type 'X86' conflicts with target machine type 'x64'
ext/tachyon.pyd : fatal error LNK1120: 3 unresolved externals
This is useful to know what MSBuild.exe and Ninja we are using and
whether the correct one has been set via PATH by vcvarsall.bat and
hasn't been overwritten by appveyor.
Now we test:
MSVC 2010 + Ninja (x86)
MSVC 2015 + Ninja (x86)
MSVC 2015 + Ninja (x86_64)
MSVC 2010 + MSBuild (x86)
MSVC 2015 + MSBuild (x86)
MSVC 2015 + MSBuild (x86_64)
MSVC 2010 Express only shipped with an x86 toolchain, so we can only
test x86 for that.