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

DOC: Overhaul - new skin, new deployment & multiversion archival #656

Merged
merged 22 commits into from
Oct 15, 2021

Conversation

oesteban
Copy link
Member

@oesteban oesteban commented Oct 14, 2021

This PR corresponds to the manual update to the gh-pages I've done (and currently available at https://nipreps.org/niworkflows).

Inherently, I'm proposing the following changes:

  • Only the tip of each MAJOR.MINOR version series is archived. If we roughly follow our own conventions for the patch releases, this should not be a problem. I think the gains in clarity (without uneven numbers of patch releases clouding the choice) and space (we only need to store one version per series) outweigh any caveat of not having access to older patch release docs.
  • Drop the sphinxcontrib-versioning package - we just need to be sure we do not ever wipe gh-pages out. Now, the old versions are archived and only overwritten if a new patch release of that series is issued. The responsibility of these updates is moved to GH Actions (work in progress).
  • For the version chooser widget to work with future versions that will be uploaded, it has been modified to now be dynamic and read an index of versions from a JSON file (versions.json).
  • To minimize the necessary dependencies, nilearn, PyBIDS,nitransforms, and other packages have been moved to a lazy import fashion. Although autodoc has the capability of "mocking" imports, we are using Nipype's sphinx extension to generate the documentation of Nipype Interfaces. That extension (which I wrote), does not mock the imports. Considering the memory issues we generally have, it might be beneficial to have these imports hidden, anyways.

I'm also changing the skin of the documentation with the furo theme. It felt much cleaner than the RTD skin, and turned out to be easy to customize to include the version switch right below the project name.

I'm tagging @rwblair as a reviewer because he had quite a bit of time struggling with the sphinxcontrib-versioning package and the overall setup - his feedback could be very relevant, and at the very least, he might be interested too in the solution.

EDIT: added comment about imports

@oesteban oesteban force-pushed the docs/new-documentation-building branch 3 times, most recently from f167a65 to 8911012 Compare October 14, 2021 09:38
@oesteban oesteban force-pushed the docs/new-documentation-building branch from 8911012 to 2d22323 Compare October 14, 2021 09:54
@oesteban oesteban force-pushed the docs/new-documentation-building branch from 2d22323 to 9c15226 Compare October 14, 2021 09:57
@oesteban oesteban force-pushed the docs/new-documentation-building branch from be201f5 to 32d21aa Compare October 14, 2021 10:09
@oesteban oesteban force-pushed the docs/new-documentation-building branch 2 times, most recently from 736a023 to c4d2f93 Compare October 14, 2021 10:26
@oesteban oesteban force-pushed the docs/new-documentation-building branch from c4d2f93 to cea09b9 Compare October 14, 2021 10:32
This new protocol should give an end to the expensive builds on circle CI,
as old versions do not need to be rebuilt with every tag / push to master.

After squashing the history again, and probably cleaning up git objects that
are not used, this should effectively reduce the checkout time by a lot.

Resolves: #557.
@effigies
Copy link
Member

The changes listed in your top post make sense to me. Looks like you're actively working on this, so please @ me when you want feedback.

@oesteban oesteban force-pushed the docs/new-documentation-building branch from 626591b to f5b29ba Compare October 14, 2021 14:32
@oesteban oesteban force-pushed the docs/new-documentation-building branch from 18595cb to a2c3535 Compare October 14, 2021 15:50
@oesteban oesteban force-pushed the docs/new-documentation-building branch from a2c3535 to 929de1e Compare October 14, 2021 15:51
@oesteban
Copy link
Member Author

@effigies - I'm done. The deployment of new tags seems to be working (https://nipreps.org/niworkflows/0.0/ - I'll clean this up manually when this PR is merged). That was the main focus for my latest commits. We'll see how it fails when it comes to update master after merging.

docs/Makefile Outdated
@@ -57,9 +57,9 @@ docs-coverage:
PYTHONPATH=$(PYTHONPATH) $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage

html:
PYTHONPATH=$(PYTHONPATH) $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
PYTHONPATH=$(PYTHONPATH) $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/$(CURBRANCH)
Copy link
Member

Choose a reason for hiding this comment

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

Posted this on sdcflows by accident:

This is going to make it trickier to rerender older versions at need. Or rather, it will create a watershed where we do one thing to render before and another thing to render after. Even if we can't get a single "correct" result now, I would suggest that we leave this rule unchanged and create a new rule like htmlbranch.

Copy link
Member Author

Choose a reason for hiding this comment

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

Replied at the site of the accident ;)

…rsioning in it

Co-authored-by: Chris Markiewicz <effigies@gmail.com>
@oesteban
Copy link
Member Author

Okay, I would need to unlock myself from this one - so if I didn't really address the open question about the Makefile @effigies, let's go back to it after merge. I really hope that's fine :)

@oesteban oesteban merged commit 44408e6 into master Oct 15, 2021
@oesteban oesteban deleted the docs/new-documentation-building branch October 15, 2021 08:29
oesteban added a commit that referenced this pull request Oct 15, 2021
.

This is a squashed commit including #657, #658 and a bunch of following commits until the problem was resolved.

cc @effigies @mgxd - please fix your repos' histories if they were updated with commits after #656.
oesteban added a commit to celprov/niworkflows that referenced this pull request Mar 1, 2022
…ipreps#656.

This is a squashed commit including nipreps#657, nipreps#658 and a bunch of following commits until the problem was resolved.

cc @effigies @mgxd - please fix your repos' histories if they were updated with commits after nipreps#656.
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