From 410444915292a2865e378c21d4dee9e8496c5a8e Mon Sep 17 00:00:00 2001 From: Jan Schulz Date: Sun, 17 Jul 2016 12:43:45 +0200 Subject: [PATCH 1/4] Appveyor: use newer conda packages and only run all tests on one platform --- appveyor.yml | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 2bd0b18c4ac8..75a764470597 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -26,25 +26,25 @@ environment: # this variable only influence pdf/svg tests, png tests are run on any platform # only once, because it basically triples the testing times # pick the one which seems to make the most problems - TEST_ALL_IMAGES: "yes" + TEST_ALL: "yes" CONDA_INSTALL_LOCN: "C:\\Miniconda" - TARGET_ARCH: "x64" CONDA_PY: "27" CONDA_NPY: "18" PYTHON_VERSION: "2.7" - TEST_ALL_IMAGES: "no" + TEST_ALL: "no" CONDA_INSTALL_LOCN: "C:\\Miniconda-x64" - TARGET_ARCH: "x64" CONDA_PY: "34" CONDA_NPY: "110" PYTHON_VERSION: "3.4" - TEST_ALL_IMAGES: "no" + TEST_ALL: "no" CONDA_INSTALL_LOCN: "C:\\Miniconda3-x64" - TARGET_ARCH: "x64" CONDA_PY: "35" CONDA_NPY: "110" PYTHON_VERSION: "3.5" - TEST_ALL_IMAGES: "no" + TEST_ALL: "no" CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64" # We always use a 64-bit machine, but can build x86 distributions @@ -116,23 +116,12 @@ test_script: - cmd: '"%DUMPBIN%" /DEPENDENTS lib\\matplotlib\\_png*.pyd | findstr png.*.dll && exit /b 1 || exit /b 0' # this are optional dependencies so that we don't skip so many tests... - # WORKAROUND: set miktex to the old version until I figured out whats wrong here... - - cmd: conda install -q pillow miktex=2.9.5857 - # autoinstall latex packages (0=no, 1=autoinstall, 2=ask) - # this adds this to the registry! - - cmd: initexmf --set-config-value "[MPM]AutoInstall=1" - # we need to put the real exe files into PATH as subprocess can't call bat files - # this works for the "old" version of the miktex package, then next version should - # not need it - - set "PATH=%PATH%;%CONDA_PREFIX%\Library\miktex\miktex\bin" - # missing packages on conda-forge for ffmpeg avconv mencoder imagemagick inkscape - - cmd: conda install -q -c menpo ffmpeg # a repackaged version + - cmd: if x%TEST_ALL% == xyes; conda install -q pillow miktex inkscape + # missing packages on conda-forge for ffmpeg avconv mencoder imagemagick + - cmd: if x%TEST_ALL% == xyes; conda install -q -c menpo ffmpeg # a repackaged version # This install sometimes failed randomly :-( #- cmd: choco install imagemagick - # only install inkscape during one test run as it increases the runtime of one - # test run from 13 min -> 30 min - - cmd: if x%TEST_ALL_IMAGES% == xyes; choco install inkscape - - cmd: if x%TEST_ALL_IMAGES% == xyes; set "PATH=%PATH%;C:\Program Files\Inkscape\inkscape.com" + # Test import of tkagg backend - python -c "import matplotlib as m; m.use('tkagg'); import matplotlib.pyplot as plt; print(plt.get_backend())" # tests From 4032499dbaa9ffa5085136f4ad2d1ab72077afa8 Mon Sep 17 00:00:00 2001 From: Jan Schulz Date: Sun, 17 Jul 2016 18:58:57 +0200 Subject: [PATCH 2/4] Appveyor: run fast builds first --- appveyor.yml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 75a764470597..48e38dd28ff1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,17 +17,9 @@ environment: matrix: # for testing purpose: numpy 1.8 on py2.7, for the rest use 1.10/latest - # theoretically the CONDA_INSTALL_LOCN could be only two: one for 32bit, one for 64bit - # but using one for the right python version is hopefully making it fast due to package caching. - - TARGET_ARCH: "x86" - CONDA_PY: "27" - CONDA_NPY: "18" - PYTHON_VERSION: "2.7" - # this variable only influence pdf/svg tests, png tests are run on any platform - # only once, because it basically triples the testing times - # pick the one which seems to make the most problems - TEST_ALL: "yes" - CONDA_INSTALL_LOCN: "C:\\Miniconda" + # theoretically the CONDA_INSTALL_LOCN could be only two: one for 32bit, + # one for 64bit because we construct envs anyway. But using one for the + # right python version is hopefully making it fast due to package caching. - TARGET_ARCH: "x64" CONDA_PY: "27" CONDA_NPY: "18" @@ -46,6 +38,16 @@ environment: PYTHON_VERSION: "3.5" TEST_ALL: "no" CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64" + - TARGET_ARCH: "x86" + CONDA_PY: "27" + CONDA_NPY: "18" + PYTHON_VERSION: "2.7" + # this variable influence pdf/svg and most importantly the latex related tests + # which triples the runtime of the tests (7-8min vs 30min). + # pick the one which seems to make the most problems and run it last, so that + # the rest of the tests can give feedback earlier + TEST_ALL: "yes" + CONDA_INSTALL_LOCN: "C:\\Miniconda" # We always use a 64-bit machine, but can build x86 distributions # with the PYTHON_ARCH variable (which is used by CMD_IN_ENV). From c47edde1272d28f8b4088bc4806fd2afe320e6ef Mon Sep 17 00:00:00 2001 From: Jan Schulz Date: Sun, 3 Jul 2016 17:20:39 +0200 Subject: [PATCH 3/4] Revert "Appveyor: disable building conda packages as they fail the build" This reverts commit e7c9b566bd6a5a3998d28d03dc5eba9079f509ca. --- appveyor.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 48e38dd28ff1..b2784bcbd62b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -148,8 +148,7 @@ after_test: - cmd: path - cmd: where python - cmd: '%CMD_IN_ENV% conda config --get channels' - # currently disabled as conda-build errors :-( - #- cmd: '%CMD_IN_ENV% conda build -q .\ci\conda_recipe' + - cmd: '%CMD_IN_ENV% conda build -q .\ci\conda_recipe' # Move the conda package into the dist directory, to register it # as an "artifact" for Appveyor. From 9e0f4af6b22831dd9d0118b32d030574a3028c4e Mon Sep 17 00:00:00 2001 From: Jan Schulz Date: Thu, 7 Jul 2016 23:06:52 +0200 Subject: [PATCH 4/4] Appveyor: remove py27 workaround, conda build works --- appveyor.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index b2784bcbd62b..58d343641fb5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -77,9 +77,6 @@ install: # Fix the appveyor build environment to work with conda build # workaround for missing vcvars64.bat in py34 64bit - cmd: copy ci\appveyor\vcvars64.bat "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64" - # workaround for conda build on py27 prefering the normal installed - # VS tools instead of the also installed Py27 VS compiler (which wouldn't need this workarounds...) - - cmd: copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat" # For building, use a new environment which only includes the requirements for mpl # same things as the requirements in ci/conda_recipe/meta.yaml