Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

automatically build windows conda packages and wheels in master #5595

Closed
jankatins opened this issue Dec 1, 2015 · 11 comments · Fixed by #5604
Closed

automatically build windows conda packages and wheels in master #5595

jankatins opened this issue Dec 1, 2015 · 11 comments · Fixed by #5604

Comments

@jankatins
Copy link
Contributor

Would it be possible to add conda packages (and wheels) for windows for master? That would make testing packages much easier and appvoyer can also run the test suite.

What would be needed:

That setup would build matplotlib packages on each push to master. I can probably do a PR for this...

See PR in #5604

@jenshnielsen
Copy link
Member

I'm definitely 👍 to testing on windows with appveyor. AFAIK the only reason we are not doing at the moment is the lack time. I can also see the use case for prebuild binaries.

@tacaswell
Copy link
Member

👍 even without building artifacts, just running the tests on appveyor would be a major improvement.

@mdboom
Copy link
Member

mdboom commented Dec 1, 2015

Yes. No objections -- I think we're just short on time/expertise for this.

@jankatins
Copy link
Contributor Author

A first try (not yet successfully tested...) is on https://github.com/janschulz/matplotlib (branch "master" to test it on appveyor).

@jankatins
Copy link
Contributor Author

Test failures on 3.5: https://ci.appveyor.com/project/JanSchulz/matplotlib/build/1.0.18/job/dca3jlyb6wa2l4r9

python tests.py
c:\projects\matplotlib\lib\matplotlib\__init__.py:1510: UserWarning: matplotlib is not built with the correct FreeType version to run tests.  Set local_freetype=True in setup.cfg and rebuild. Expect many image comparison failures below.
  "matplotlib is not built with the correct FreeType version to run "
....EC:\Python35_64\envs\test-environment\lib\site-packages\pyparsing.py:2732: ResourceWarning: unclosed file <_io.BufferedReader name=9>
  loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False )
C:\Python35_64\envs\test-environment\lib\site-packages\pyparsing.py:2732: ResourceWarning: unclosed file <_io.BufferedWriter name=7>
  loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False )
C:\Python35_64\envs\test-environment\lib\site-packages\pyparsing.py:2732: ResourceWarning: unclosed file <_io.BufferedReader name=8>
  loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False )
KKKKKEK...KK.KK.....KK...KK.KK.KK.KK.....KK.KK.KK.KK...KK..........................KK.KK.KK.KK...KK.KK.KK.KK.KK.KK.KK.KK.KK...KKC:\Python35_64\envs\test-environment\lib\site-packages\dateutil\rrule.py:833: DeprecationWarning: fractions.gcd() is deprecated. Use math.gcd() instead.
  i_gcd = gcd(self._interval, base)
..KK.KK.KK.KK.KK.KK.....KK.KK.KK..KK.KK.KK.KK.KK.KK.KK.KK.KK......KK........KK.KK.KK.KK.....KK...KK.KK.KK.KK.KK.KK..KK.KK.KK...KK...........KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.....KK...KK..KK.KK.KK.KK.............KK.KK.KK.KK.KK.KK.KK.KK.KK....KK........................................................KK....'gs' is not recognized as an internal or external command,
operable program or batch file.
'gs' is not recognized as an internal or external command,
operable program or batch file.
'latex' is not recognized as an internal or external command,
operable program or batch file.
'latex' is not recognized as an internal or external command,
operable program or batch file.
SSSSSSKKK.................KKKKKKKKKKKKKKK.KK....K..KK.KK.KK.KK........................SS..KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK..............c:\projects\matplotlib\lib\matplotlib\collections.py:360: UserWarning: Collection picker None could not be converted to float
  % self._picker)
....KK....................................KK..c:\projects\matplotlib\lib\matplotlib\colorbar.py:539: VisibleDeprecationWarning: boolean index did not match indexed array along dimension 0; dimension is 5 but corresponding boolean dimension is 4
  colors = np.asarray(colors)[igood]
c:\projects\matplotlib\lib\matplotlib\colorbar.py:539: VisibleDeprecationWarning: boolean index did not match indexed array along dimension 0; dimension is 5 but corresponding boolean dimension is 3
  colors = np.asarray(colors)[igood]
.........................C:\Python35_64\envs\test-environment\lib\site-packages\dateutil\rrule.py:833: DeprecationWarning: fractions.gcd() is deprecated. Use math.gcd() instead.
  i_gcd = gcd(self._interval, base)
C:\Python35_64\envs\test-environment\lib\site-packages\dateutil\rrule.py:719: DeprecationWarning: fractions.gcd() is deprecated. Use math.gcd() instead.
  for j in range(rep_rate // gcd(interval, rep_rate)):
C:\Python35_64\envs\test-environment\lib\site-packages\dateutil\rrule.py:751: DeprecationWarning: fractions.gcd() is deprecated. Use math.gcd() instead.
  for j in range(0, rep_rate // gcd(interval, rep_rate)):
..................................................................K.KK.KK.........E..K...KK.KK.KK.KK.KKKK.KKKK.KKKK.K.....K............KK.KK..KK.KK.KK.KK..KK.KK.KK...KK.KKC:\Python35_64\envs\test-environment\lib\site-packages\numpy\lib\nanfunctions.py:227: RuntimeWarning: All-NaN axis encountered
  warnings.warn("All-NaN axis encountered", RuntimeWarning)
...................................................................................................................................................................................................................................................................................................................KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK.KK............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................K...KK..KK.KK.KK.KK.KK.....KK.KK......KK.KK.KK.KKK............................. 
Bad key "timezone" on line 1 in
c:\projects\matplotlib\lib\matplotlib\tests\test_utf32_be_rcparams.rc.
You probably need to get an updated matplotlibrc file from
http://github.com/matplotlib/matplotlib/blob/master/matplotlibrc.template
or from the matplotlib source distribution
........................................................................................KK...KK.KK.KK.KK.KK.KK.KK.KK.KK.....KK.KK.KK..KK.KK.KK...........KK.c:\projects\matplotlib\lib\matplotlib\figure.py:1100: UserWarning: sharex argument to add_subplots() was an integer. Did you intend to use add_subplot() (without 's')?
  "sharex argument to add_subplots() was an integer. "
.c:\projects\matplotlib\lib\matplotlib\figure.py:1100: UserWarning: sharex argument to add_subplots() was an integer. Did you intend to use add_subplot() (without 's')?
  "sharex argument to add_subplots() was an integer. "
......KK.....KK..KK.KK.KK..........................KK.KK.KK.KK.KK.KK.KK.KK.KK.KK................KK....................................................c:\projects\matplotlib\lib\matplotlib\cbook.py:136: MatplotlibDeprecationWarning: The set_color_cycle attribute was deprecated in version 1.5. Use set_prop_cycle instead.
  warnings.warn(message, mplDeprecation, stacklevel=1)
........S.....c:\projects\matplotlib\lib\matplotlib\tests\test_labeled_data_unpacking.py:399: RuntimeWarning: Second argument is ambiguous: could be a color spec but is in data. Using as data.
Either rename the entry in data or use three arguments to plot.
  assert_equal(funcy(None, "x", "y1", data=data),
.C:\Python35_64\envs\test-environment\lib\site-packages\nose\util.py:453: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  inspect.getargspec(func)
S...KK.KK.KK.KK.KK.KK.KK.KK.KK...KK.KK.KK.KK.KK.....KK.. 
======================================================================
ERROR: matplotlib.tests.test_animation.test_save_animation_smoketest('imagemagick', 'gif')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python35_64\envs\test-environment\lib\site-packages\nose\case.py", line 198, in runTest
    self.test(*self.arg)
  File "c:\projects\matplotlib\lib\matplotlib\testing\decorators.py", line 138, in wrapped_function
    func(*args, **kwargs)
  File "c:\projects\matplotlib\lib\matplotlib\tests\test_animation.py", line 57, in check_save_animation
    anim.save(F.name, fps=30, writer=writer, bitrate=500)
  File "c:\projects\matplotlib\lib\matplotlib\animation.py", line 787, in save
    writer.grab_frame(**savefig_kwargs)
  File "c:\projects\matplotlib\lib\matplotlib\animation.py", line 230, in grab_frame
    dpi=self.dpi, **savefig_kwargs)
  File "c:\projects\matplotlib\lib\matplotlib\figure.py", line 1672, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "c:\projects\matplotlib\lib\matplotlib\backend_bases.py", line 2230, in print_figure
    **kwargs)
  File "c:\projects\matplotlib\lib\matplotlib\backends\backend_agg.py", line 512, in print_raw
    fileobj.write(renderer._renderer.buffer_rgba())
BrokenPipeError: [Errno 32] Broken pipe

======================================================================
ERROR: matplotlib.tests.test_animation.test_save_animation_smoketest('imagemagick_file', 'gif')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python35_64\envs\test-environment\lib\site-packages\nose\case.py", line 198, in runTest
    self.test(*self.arg)
  File "c:\projects\matplotlib\lib\matplotlib\testing\decorators.py", line 138, in wrapped_function
    func(*args, **kwargs)
  File "c:\projects\matplotlib\lib\matplotlib\tests\test_animation.py", line 57, in check_save_animation
    anim.save(F.name, fps=30, writer=writer, bitrate=500)
  File "c:\projects\matplotlib\lib\matplotlib\animation.py", line 787, in save
    writer.grab_frame(**savefig_kwargs)
  File "C:\Python35_64\envs\test-environment\lib\contextlib.py", line 66, in __exit__
    next(self.gen)
  File "c:\projects\matplotlib\lib\matplotlib\animation.py", line 196, in saving
    self.finish()
  File "c:\projects\matplotlib\lib\matplotlib\animation.py", line 387, in finish
    + ' Try running with --verbose-debug')
RuntimeError: Error creating movie, return code: 4 Try running with --verbose-debug

======================================================================
ERROR: matplotlib.tests.test_font_manager.test_json_serialization
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python35_64\envs\test-environment\lib\site-packages\nose\case.py", line 198, in runTest
    self.test(*self.arg)
  File "c:\projects\matplotlib\lib\matplotlib\tests\test_font_manager.py", line 33, in test_json_serialization
    json_dump(fontManager, temp.name)
  File "c:\projects\matplotlib\lib\matplotlib\font_manager.py", line 984, in json_dump
    with open(filename, 'w') as fh:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\tmpvi0zsicu'

----------------------------------------------------------------------
Ran 5771 tests in 794.273s

FAILED (KNOWNFAIL=1213, SKIP=10, errors=3)

@jankatins
Copy link
Contributor Author

I also couldn't get it to work without specifying a 2.5 version for freetype: the tests simple couldn't find the ft2build.h file in the include directory. Not sure why that is, I suspect that conda rearranged something in the freetype package

@jankatins
Copy link
Contributor Author

Another find: to make building on anaconda easier, it would be nice if the python lib and include dir would also be included as default values on windows. Currently I have to set these dirs...

Latest run is here (with tests always succeeding to try to get the artefacts): https://ci.appveyor.com/project/JanSchulz/matplotlib/build/1.0.21

@jankatins
Copy link
Contributor Author

WTF? https://ci.appveyor.com/project/JanSchulz/matplotlib/build/1.0.21/job/5x5bvbv9yoftwtxa

UPDATING build\lib.win32-2.7\matplotlib\_version.py
set build\lib.win32-2.7\matplotlib\_version.py to '1.3.1rc2+5730.ga50456a'
running build_ext
installing to build\bdist.win32\wheel
running install
running install_lib
copying pylab.py -> build\bdist.win32\wheel\matplotlib-1.3.1rc2+5730.ga50456a.data\..
error: [Error 183] Cannot create a file when that file already exists: 'build\\bdist.win32\\wheel\\matplotlib-1.3.1rc2+5730.ga50456a.data\\..'
Command exited with code 1

[the wrong version is probably me who forgot to push the tags...]

Ok, already known: https://bitbucket.org/pypa/wheel/issues/91/cannot-create-a-file-when-that-file since 2 years :-(

@jenshnielsen
Copy link
Member

The imagemagick issues are likely due to the issue fixed by #5460

@mdboom
Copy link
Member

mdboom commented Dec 2, 2015

Another find: to make building on anaconda easier, it would be nice if the python lib and include dir would also be included as default values on windows. Currently I have to set these dirs...

I'd have no objection to adding these to get_base_dirs in setupext.py. I think they are included by distutils on Linux, however. I wonder why that doesn't happen on Windows?

@JanSchulz: If you wouldn't mind creating a pull request (even though it's not done) that would be great -- it's easier to comment on details that way. Just put "WIP" in the subject line and we'll all know it's not ready to be merged.

@jankatins
Copy link
Contributor Author

@mdboom #5604

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants