Skip to content

Change travis to use wheel binaries - #1029

Merged
eteq merged 11 commits into
astropy:masterfrom
eteq:use-wheels
May 4, 2013
Merged

eteq merged 11 commits into
astropy:masterfrom
eteq:use-wheels

Conversation

@eteq

@eteq eteq commented Apr 26, 2013

Copy link
Copy Markdown
Member

This was discussed at length in #938 . The basic idea is that our travis tests run slowly for a variety of reasons, but one of the important ones is that it has to build everything from source. This PR changes the travis behavior to instead install numpy, scipy, and Cython from binaries (in the new "wheel" format - see PEP427).

Once the tests on this run we'll see what the speedup is exactly, but generally I've been getting < 1 hr total for all of the tests on this, vs ~2.5 hr for the current master branch. Also, as a bonus, the build/test log for astropy is now much simpler, because it doesn't have all the crap from scipy and numpy getting built.

This is also enhanced from previous versions discussed in #938 in that it will fall back on the build-from-source methodology if the wheel fails to install for whatever reason. That will of course slow everything down, but at least they don't just all fail if there's a web server hiccup or something.

A few items remain before this can get merged, though:

  • Currently the wheels are hosted on a web server that was not really intended for file downloads, so this shouldn't get merged until we find something somewhat more suitalbe. I believe @astrofrog volunteered to use his jenkins mac mini for this purpose until we find a more permanent replacement - @astrofrog, can you let me know when you get the files I sent you on that server (and point me to the right URL so I can update this)?
  • This version has open file detection turned off. I ran two builds - one where it was on and one where it was off. This shows that now unclosed file detection works on all versions... but it also slows down the build process by almost a factor of two. So I suggest we turn on open file detection on jenkins, but leave it off for travis. Does that sound ok, @mdboom ?

(cc @iguananaut @astrofrog @keflavich as interested parties from #938)

@eteq

eteq commented Apr 26, 2013

Copy link
Copy Markdown
Member Author

Oh, and I should also write a page in the docs about how to build the wheels, but this change is helpful enough in speeding all the builds that I think it's better to get this in now and add the docs on making wheels later.

@keflavich

Copy link
Copy Markdown
Contributor

+1 to both docs later & speedups sooner; it would be particularly nice if the wheels are hosted on a server that non-astropy projects could use (say, those which aren't yet ready to try to become affiliated).

@eteq

eteq commented May 4, 2013

Copy link
Copy Markdown
Member Author

Alright, this appears to work with the new location, so I'm going to go ahead and merge this. @mdboom - if you have thoughts on how to optimize the open file detection, we can work on that in a separate issue.

eteq added a commit that referenced this pull request May 4, 2013
Change travis to use wheel binaries
@eteq
eteq merged commit d2816c7 into astropy:master May 4, 2013
@eteq
eteq deleted the use-wheels branch May 3, 2015 17:18
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 this pull request may close these issues.

2 participants