Enable AppVeyor Windows CI testing.#2755
Conversation
|
There appears to be some build issue that I don't understand, https://ci.appveyor.com/project/Cadair/astropy/build/1.0.3/job/rxricru3yvqasfty#L953 ping @embray @astrofrog |
|
Awesome--thanks for getting this started. I'll take a look in a bit. |
|
Ok, so it's working now (there's a bug in Python 3 that stops it from working there, see above) but it segfaults on one of the tests, as previously found on a different machine: #2100 |
|
Seems that the python 3 build error is, as pointed out by @astrofrog, was a known issue. The build completes ok under Python 2.x (https://ci.appveyor.com/project/Cadair/astropy/build/job/5j4em4lrnmdr24g0) but then segfaults as known about in #2100. |
|
@Cadair - I know you can't hide appveyor.yml, but could you rename |
|
@astrofrog done. |
|
@Cadair - just out of interest, how do we stop AppVeyor from reporting the status back to the pull request? At the moment GitHub can't cope with two statuses and I think we want to keep Travis as being the main one. |
|
@Cadair -- interesting situation. You are, of course, right that astropy compiles with mingw. I started playing with your branch and first reproduced the error you are seeing, and the tests stop when that error is hit (at https://ci.appveyor.com/project/mwcraig/astropy/build/1.0.10#L1777). If I drop mingw and compile instead with MSVC (by including the CMD_IN_ENV stuff) then the tests run to completion, though 3 of them fail (https://ci.appveyor.com/project/mwcraig/astropy/build/1.0.13#L2143). The first fail, of a fits uint8 test, looks like it also happens in the mingw build (see line 1770 of that build). So I guess the question is which compilation approach to take...or maybe which compilation chain should be supported? I think #2100 is actually a compilation issue, not a code issue (see comment over there). |
|
As a side note, I've been playing with the GitHub API and it should be possible to make it show a status such as the current one (I changed this one manually but it should be possible to set up a webapp to do it automatically) |
|
Wow, that would be awesome! |
|
Incidentally, I found this: http://help.appveyor.com/discussions/suggestions/204-cooperate-with-other-ci-in-same-gihub-repo Would it be worth contacting GitHub about a change? The part of the GitHub API mentioned in this discussion is no longer provisional: https://developer.github.com/changes/2014-07-09-status-contexts-are-official/ |
|
@astrofrog you could use that combined status API to merge the commit reports? @mwcraig yeah I think this is worth taking to GH about, they probably have it on their radar. |
|
I already asked GitHub and they told me to write my own webapp so that's why I was working on it ;) I should have something functional by tomorrow (@Cadair has been helping me try it out). |
|
An FYI from the conda mailing list regarding build on windows with conda (and the reason that
|
|
Oh look at the status! :) That was automated, courtesy of http://github-multi-status.herokuapp.com |
|
@astrfrog -- awesome app! I think the fails will be fixed once my latest PR on @Cadair's PR is merged. |
|
@mwcraig I merged your PR and rebased, so we should be down to only the last few fails now. |
|
One thing which I think would be worth thinking about (and I guess we'll see from experience once we use it) is whether Appveyor can keep up with all the pull requests we do - Travis is already on the slow side on some days, and appveyor only has one simultaneous job it seems? If it ends up being too slow then we could consider running the build only on master (but let's see first how well it does with pull requests) |
|
@astrofrog it also seems that you can't restart builds on AppVeyor, so for SunPy I am making it a more "squishy" requirement for the build to pass before merging. |
|
@embray - it looks like there are some genuine failures on Windows - one in For the last one I'm guessing we want to add a +FLOAT_CMP but for the others, you might know the best way to fix these? |
|
Interestingly the tests do pass on 32-bit Windows with Python 2.7. |
|
I don't fully understand the context, but it seems to have something to do with |
3d758c5 to
46cc0d4
Compare
|
IT IS GREEN |
|
🎆 |
Enable AppVeyor Windows CI testing.
|
woop! |
|
Issues for all tests other than the HDF5 ones need opening. |
|
I've filed a new issue so that we don't forget about these skipped tests: #3242 |
|
Related to this, is it possible to re-run a build on AppVeyor, and if so can somebody add for me the permissions I would need to do that (since apparently I can't, at the moment). |
|
@embray -- yes, it is possible to restart or halt appveyor builds. I can add you as an appveyor collaborator, I think. Can you send me your email address? |
|
I apparently have an appveyor account @embray; should be good enough, no? |
|
@embray -- I just added you as an administrator to the astropy team on appveyor, please let me know if it worked. You should see a cancel button now. |
|
@mwcraig - can you add me as an admin too? otherwise I have to log in with the astropy.team account. |
|
@astrofrog -- done, added myself too. Anyone else who should be on? |
|
Thanks! Well anyone who is a core maintainer in principle (https://github.com/orgs/astropy/teams/astropy-core-maintainers) but don't think all have an appveyor account. |
|
There doesn't seem to be a core maintainers team...do you mean owners? |
|
Ah, maybe it can't be publicly seen, but if you click the link in my previous comment it should take you directly there (basically people with write-access to the repo) |
|
I think the link maybe only works for some people? I get a 404: http://note.io/1xVBWQS |
This PR adds the files needed to use AppVeyor to do CI testing of Astropy under windows (Server 2012 R2). The build matrix is smaller than your travis one but also uses miniconda, and the mingw compiler available through conda on windows.
I have enabled Python 2.6, 2.7 and 3.4 on Numpy 1.8.1 and 1.7.1 (not on 3.4).
I switched it on for my fork, and the first builds can be seen here: https://ci.appveyor.com/project/Cadair/astropy.
AppVeyor integrates into GH in the same way Travis does, however the API on GH's side is not smart enough, so the build status only shows for the last build to report.