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

CircleCI takes an inordinate amount of time to complete. #1786

Closed
kchawla-pi opened this issue Oct 11, 2018 · 2 comments
Closed

CircleCI takes an inordinate amount of time to complete. #1786

kchawla-pi opened this issue Oct 11, 2018 · 2 comments
Assignees
Labels
Infrastructure This issue describes a problem with the project's infrastructure (CI/CD...). Priority: high The task is urgent and needs to be addressed as soon as possible.

Comments

@kchawla-pi
Copy link
Collaborator

make html is one process and complex to parallelize across containers + if we do manage that across all 4 containers, no one will be able to test their push until one of the containers completes and becomes unoccupied.

One strategy is to rebuild only the changed html pages in CircleCI, something sphinx/sphinx-gallery does by default, this will cut down the build time from hours to minutes.

To make sure that we don't miss a problem due to this, CircleCI might get another job, run once a day or once every three days, where the entire documentation is rebuild from scratch.

I intend to work on this soon as Nilearn 0.5b releases.

@kchawla-pi kchawla-pi self-assigned this Oct 11, 2018
@kchawla-pi kchawla-pi changed the title CircleCI takes an inordinate amount of time to run CircleCI takes an inordinate amount of time to complete. Oct 11, 2018
@kchawla-pi kchawla-pi added Priority: high The task is urgent and needs to be addressed as soon as possible. Infrastructure This issue describes a problem with the project's infrastructure (CI/CD...). labels Oct 11, 2018
@kchawla-pi
Copy link
Collaborator Author

Expanding on the idea,

Ensuring internal changes don't break something:
The CI run after push is to ensure that internal changes (the PRs) aren't breaking something, which is best done in the same environment. TOt hat end I will create a custom docker image with the same environment used every time after a push.

Ensuring external changes don't break something:
The second workflow will be CI run daily and on master, which will be rebuilt from scratch the way it currently is. This will ensure our documentation is not breaking due to changes URLs, corrupted datasets, downed servers etc.

@ymzayek
Copy link
Member

ymzayek commented Jul 13, 2022

I will close this issue as it seems to have been completed. Further optimization of CircleCI builds can be discussed in a new issue.

@ymzayek ymzayek closed this as completed Jul 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrastructure This issue describes a problem with the project's infrastructure (CI/CD...). Priority: high The task is urgent and needs to be addressed as soon as possible.
Projects
None yet
Development

No branches or pull requests

2 participants