Appveyor overhaul#6520
Appveyor overhaul#6520tacaswell merged 18 commits intomatplotlib:masterfrom jankatins:appveyor_overhaul
Conversation
|
Looks good, Any chance we can drop the patched bdist_whell now? |
|
Yes, that can also be gone now. Will add it here in this PR |
|
Meh: [matplotlib-1.5.0+2326.gf349629-cp27-cp27m-win_amd64.whl] -> depends on |
|
Ok, it builds and the tests pass but the coverage is going down :-( The problem with non-static dependencies is fixed as far as I can see and the tests now include a test for that. -> I would love to get a review, I don't have any more changes staged for this. |
|
Don't worry about the coverage. It's comming from the travis builds and have been going up and down for that file all the time in various builds |
|
Ok, after installing inkscape and imagemagick the tests error out: The test runtime of almost exactly 1h seem to suggest that the tests are stuck somewhere and run into a timeout :-( -> I'm removing the choko installs again... |
|
Ok, wasn't the choco lines, next try pillow... Please don't let it be miktex... |
|
Re possible MiKTeX timeouts: check that MiKTeX is configured to "install missing packages on-the-fly", not "ask me first" (the default; opens a modal dialog). |
|
@cgohlke: Thank you, the miktex "ask" setting seems to have been the problem!
-> It seems it still misses most of the tests due to missing tools :-( probably the image conversation util to convert svg/... to png |
|
The images are converted using inkscape but I guess choko installing inkscape does not put it on path so it can be found by nose |
|
Current status: A failure on py3.4: https://ci.appveyor.com/project/mdboom/matplotlib/build/1.0.1712 Next stop: trying to put inkscape into PATH thanks to the suggestion from @jenshnielsen |
|
@JanSchulz I think that one is a random fluke. We are seeing it on Travis too |
|
Still something missing: I think I know why: the miktex packages only installs bat files in PATH which redirect to the exe in a subdir for most of the files (only a few get a wrapper written in GO -> it's 2MB and we have a lot of binaries in the miktex package, so only the most mportant binaries got that treatment) and I think subprocess can't call bat files without using a shell which it doesn't in the checks: matplotlib/lib/matplotlib/__init__.py Line 355 in 98a2e64 Oh, and another problem: inkscape comes in two flavors: -> unfortunately, |
|
proper exe wrappers are comming: conda-forge/miktex-feedstock#8 |
|
Current status: A lot less skipped tests: But also a failure on py27, py33 https://ci.appveyor.com/project/mdboom/matplotlib/build/1.0.1721/job/4jt29336mqp6jx6g/artifacts Looking at the images (pdf versions, see the artifact in one of the failing appveyor runs), it needs a slightly higher tolerance? |
|
I looked at the failed image. The diff seems insignificant so I am 👍 on changing the tolerance slightly |
|
ok, upped the tolerance on that test... What is with the testing timeS: 4_30min=2h instead of 40min as before... I could install inkscape only on one of the tests, so that we get back to 1x30+3_15min... Or is 2h ok? |
|
I think installing inkscape on only one of the nodes is probably the best solution at the moment. |
|
Any idea what's happening here (Travis -> linux): |
|
It seems to happen randomly on both Travis and appveyor. It's a fluke not related to any on this but we should probably try to get to the bottom of this. |
|
It seems the choco install if inkscape is cached, at least it's now available in in all test runs :-/ |
Also make the copy more failsave...
This is mainly because the additional tests (which are otherwise skipped) increase the runtime of one test run (we have 4) from 13min to 30mins and thereby increasing one complete Appveyor run from 40min to 2 hours. With this change, we only have 30+3*13min. The py27 test was chosen because up it made the most problems during this Appveyor/Windows fixing round...
|
I've disabled the conda-build and removed the debugging output (PR for both is in #6682), so hopefully this succeeds now and can be merged... |
|
The tests are now all successful. Who should be the one to give the final review and check? |
ci/conda_recipe/condaversion.patch
Outdated
|
|
||
| # These are the packages in the order we want to display them. This | ||
| # list may contain strings to create section headers for the display. | ||
| # list may contain strings to create section headers for the display. No newline at end of file |
There was a problem hiding this comment.
Don't think this needs to be changed?
Again, don't use `load_setuptools()` but the __conda_version__.txt file to get the final version of the package from the git commit id.
That seems to be the worst platform, so should trigger the most issues :-)
|
Do we version pin something to make sure we are using a fixed version of the wheels build code? |
|
@tacaswell No, they are basically build against the same code which is in conda-forge at this time. |
|
I am a bit concerned about removing the bug workaround in setup.py which may bite users on windows that want to build wheels which have not updated. I am happy with saying that people must have newer versions of setuptools (I assume that is where it comes from?), but should probably put in a check for that. I would also be happy to be told I am confused about this and it is fine as-is. |
|
I saw basically two bugreports about the wheel issue: mine and one from cgohlke who also tried compiling mpl. So IMO this is pretty rare: noone in the right mind tries to compile mpl from source to a wheel, everyone just gets it from cgohlke :-) Wheel is from it's own package (at least under conda) but gets probably installed per default (at least conda installs it automatically in each new python env)? |
|
Fair enough. |
|
Yay :-) Thanks! |
|
Thank you for fighting the good fight with appveyor! |
|
Build times have increased from ~10 min (build <= 1.0.1922) to ~30 min (build >= 1.0.1924) on all four cases (not just one 833f903) after merging this. |
|
before:
after:
And 64bit and the lone 32 bit (which was instructed to run all image comp tests) have the same runtime and the same number of tests. Should I remove the additional requirements (latex, ffmeg) on all but one build, so only one gets down to 609 skips vs 1200 in the old days? |
|
On my machine |
|
librsvg has other issues like not implementing the svg spec correctly (https://bugzilla.gnome.org/show_bug.cgi?id=748565). |
|
I think @mdboom mentioned that they had fixed that issue but probably not in a release yet |
Mostly: