Skip to content

Update configuration of CircleCI builds #17183

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

Merged
merged 4 commits into from
Jun 9, 2020

Conversation

QuLogic
Copy link
Member

@QuLogic QuLogic commented Apr 18, 2020

PR Summary

I noticed that CircleCI didn't seem to be doing any caching. This was because save_cache and restore_cache were on the run step, but really should have been separate steps.

Before doing that however, I re-wrote the config to use CircleCI's new re-usable command style (as opposed to using YAML anchors). Since this allows multiple steps in each named command, it allows removing some duplicated steps and putting the cache in the right place. Finally, I added a cache for Sphinx's doctrees. This is not intended to provide much speedup (it's about 30s out of 7m for me), but rather to hold on to the intersphinx mappings because we seem to fail to download them periodically.

These are in separate commits for slightly easier review.

PR Checklist

  • [N/A] Has Pytest style unit tests
  • [N/A] Code is Flake 8 compliant
  • [N/A] New features are documented, with examples if plot related
  • [N/A] Documentation is sphinx and numpydoc compliant
  • [N/A] Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
  • [N/A] Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way

@QuLogic

This comment has been minimized.

@QuLogic

This comment has been minimized.

@QuLogic QuLogic force-pushed the circle-cache branch 2 times, most recently from 61b2fc3 to d77458e Compare April 21, 2020 04:28
@QuLogic QuLogic changed the title Update caching in CircleCI builds Update configuration of CircleCI builds Apr 21, 2020
@QuLogic QuLogic marked this pull request as ready for review April 21, 2020 04:48
@QuLogic
Copy link
Member Author

QuLogic commented Apr 21, 2020

I opted to just convert everything; see separate commits for individual changes, and the initial post for a new description of what this does.

QuLogic added 4 commits May 26, 2020 19:16
This allows embedding multiple steps into a command.
The `save_cache` and `restore_cache` entries need to be separate steps,
not keys on the `run` step.
With re-usable commands, we can put those steps onto the command instead
of in each job.
This probably doesn't save much time, but will save the intersphinx
files in a cache that will hopefully reduce download errors.
@tacaswell tacaswell added this to the v3.3.0 milestone Jun 8, 2020
Copy link
Member

@tacaswell tacaswell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am inclined to merge this. The proof is in the pudding for CI config and it does build.


- run: *doc-bundle
- store_artifacts:
path: doc/build/sphinx-gallery-files.tar.gz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this artifact?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure; it was originally there to confirm that sphinx-gallery was working, but that seems rather rare these days. On the other hand, it really doesn't spend much time doing this at all.

@tacaswell tacaswell merged commit f33226f into matplotlib:master Jun 9, 2020
@QuLogic QuLogic deleted the circle-cache branch June 9, 2020 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants