-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
TST: Enable cache directories on AppVeyor. #8179
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
Conversation
Grr, of course, in order to get the cache to help, we need to have one run actually work... |
I'll watch the Appveyor build and restart it until it passes... |
If this finally works this time, I'm going to push another commit and hopefully we'll see that the cache is working. |
Pushed another commit to hopefully fix caching on Python 2; 50% of AppVeyor builds are on Python 2. This line shows that Python 2 is trying to put the tarball into the cache now. |
95ac596
to
65e3e9a
Compare
except OSError: | ||
# Don't care if it exists. | ||
pass | ||
try: | ||
shutil.copy(tarball_cache_path, tarball_path) | ||
print('Using cached tarball: {}' | ||
.format(tarball_cache_path)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The except just below could probably be just for OSError?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fixed, BTW.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Note, we don't need to do this on AppVeyor because the cache directories are different.
On Travis, Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 2.7 on macOS and Python nightly are all using the cached tarball now. AppVeyor is not, still. I don't know what's up with it. Maybe caching only works once its gone through |
When I run this on |
The second build shows AppVeyor restoring the cache and Matplotlib using the cached tarball, so I think this needs to be merged to have any effect on AppVeyor. Interestingly, for those builds, I commented out the test run and it turns out that installing dependencies and building Matplotlib (note, this occurs twice on AppVeyor) take up about 50% of the test wall time, except in the last full-test case. |
Something like https://github.com/mozilla/sccache / https://github.com/inorton/cclash / https://github.com/frerich/clcache (basically ccache with msvc support) could be useful? |
I was thinking of something like that, but never investigated it. Probably something for another time, when the build queue is not so long... |
I think we can merge this PR. It looks good to me. |
Lets see what happens once appveyor gets round to this merge... |
No description provided.