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: Deploy docs to gh-pages from CircleCI - with versioning #65

Merged
merged 67 commits into from
Oct 11, 2019
Merged
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
a895c7f
initial docs commit
rwblair Mar 25, 2019
3e0f388
add doc build and deploy to workflow.
rwblair Mar 25, 2019
ff1798e
fix indentation of docs jobs in config.yml
rwblair Mar 26, 2019
35624db
more indents in config.yml
rwblair Mar 26, 2019
d0f9048
ensure sphinx installed for docs
rwblair Mar 26, 2019
50f713d
apidoc wont make a directory for you.
rwblair Mar 29, 2019
1ee14cd
only build docs if push to pypi and docker works, only push docs if a…
rwblair Apr 1, 2019
ae493f6
Merge branch 'master' of github.com:poldracklab/smriprep into ci_doc_…
rwblair Jul 15, 2019
d8a6165
change in apidoc command, should fail missing dot command now
rwblair Jul 15, 2019
ec8d3a8
try building docs even if not deploying them
rwblair Jul 17, 2019
7e901e1
install sphinx-versioning from github
rwblair Aug 27, 2019
505bc4e
add apidoc to docs/conf.py
rwblair Aug 27, 2019
3ce213c
change how apidoc output is referenced in index.rst
rwblair Aug 27, 2019
f0c9f7c
remove old api.rst
rwblair Aug 27, 2019
c2e5dd0
put doc requirements in their own file instead of only in ci config
rwblair Aug 27, 2019
909baa5
add -e to github install for sphinx-versioning
rwblair Aug 27, 2019
04991ea
call pip properly in build_docs in circle config
rwblair Aug 27, 2019
809ae0e
use remove apidoc call in circle, use sphinx-versioning. Save documen…
rwblair Aug 27, 2019
3910d09
Update docs/Makefile
rwblair Aug 28, 2019
51a3ef9
Update docs/conf.py
rwblair Aug 28, 2019
6268213
Update docs/api/smriprep.rst
rwblair Aug 28, 2019
1a5b94e
Update docs/api/smriprep.rst
rwblair Aug 28, 2019
d5cf408
Deploy for any tag, not just ones that start with v
rwblair Aug 28, 2019
d85ff5b
Merge branch 'ci_doc_deploy' of github.com:poldracklab/smriprep into …
rwblair Aug 28, 2019
08122d7
set a templatedir for apidoc
rwblair Aug 28, 2019
ffabae2
move autodoc templates into _templates. Minor removals inside package…
rwblair Aug 28, 2019
062d18d
remove 'subpackages' header from main smriprep toctree
rwblair Aug 28, 2019
8ec2bdb
Let apidoc build the files in docs/api
rwblair Aug 28, 2019
5eaf33e
autodoc builds for workflows failed when called by sphinx-versioning …
rwblair Aug 28, 2019
3f99224
circle needs to install graphviz
rwblair Aug 28, 2019
e2b5d9f
fixed circle config syntax error
rwblair Aug 28, 2019
5cba911
fix for circle, python docker runs as root by default
rwblair Aug 28, 2019
ee24073
modernize pybids import
rwblair Aug 29, 2019
9340f23
tweak package template, only show toctree for each package.
rwblair Aug 30, 2019
76556f6
fix: remove ``docs/_sources`` // several improvements
oesteban Aug 30, 2019
b2e72e7
fix: improving template, slow apidoc down
oesteban Aug 31, 2019
377799a
set fsloutput env variable to quiet the warnings when building docs
rwblair Sep 3, 2019
268647b
ignore modules.rst generated by apidoc, fix indent issues and standar…
rwblair Oct 1, 2019
f9b8557
remove bidslayout import replace with named tuple
rwblair Oct 1, 2019
581705f
add import for namedtuple
rwblair Oct 1, 2019
c6e49f9
Merge branch 'master' into ci_doc_deploy
oesteban Oct 1, 2019
9a1f948
validate is not a kwarg for namedtuples, removing in base.py
rwblair Oct 1, 2019
68ec087
have init_anat_norm_wf doc argument match actual argument name
rwblair Oct 1, 2019
47112ef
convert templates from list to tuple in norm.py
rwblair Oct 1, 2019
a9722e5
remote another trailing underscore for freesurfer in docs.
rwblair Oct 1, 2019
05dadf8
have pytest test use python 3.6 as required by twine package
rwblair Oct 2, 2019
3bfa7e7
set python version for pytest test to one that pyenv has access to on…
rwblair Oct 2, 2019
44aae1d
bump sphinxcontrib-versioning version to allow default sidebar entrie…
rwblair Oct 2, 2019
88f0684
use python docker image instead of circle machine image
rwblair Oct 2, 2019
cbdfd5b
add --user flag for pytest test pip command
rwblair Oct 2, 2019
8261eef
add --user flag for pytest test pip command
rwblair Oct 2, 2019
53e9493
pin python version when building docs. Use makefile to build docs
rwblair Oct 4, 2019
c331167
add back in freesurfer link remove pytest as requirement
rwblair Oct 4, 2019
534642d
have build_docs in ci cd to docs dir
rwblair Oct 4, 2019
67d1bef
copy fmriprep makefile
rwblair Oct 4, 2019
3f38183
use make to change dirs in stead of using seperate command in circle …
rwblair Oct 4, 2019
dc59b3e
fix sphinxversioning call in makefile and circle conf
rwblair Oct 4, 2019
e0075d9
sphinx-versioning needs to be called in the directory above docs/ to …
rwblair Oct 4, 2019
6f7440c
cache versioned docs output to preserve html for previously build tags
rwblair Oct 4, 2019
ece60db
fix unmatched quote in circle config...
rwblair Oct 4, 2019
09a9e44
actually validate circle config before pushing
rwblair Oct 4, 2019
e3841e0
DOC: Restore FreeSurfer link
effigies Oct 7, 2019
70394aa
update setup.cfg requirements for docs
rwblair Oct 7, 2019
ae68918
DOC: Move links to docstring to avoid weird sphinx warning
effigies Oct 7, 2019
f491a0c
Merge branch 'ci_doc_deploy' of github.com:poldracklab/smriprep into …
rwblair Oct 7, 2019
cf74799
bump nipype version
rwblair Oct 10, 2019
b539115
bump pybids version
rwblair Oct 10, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 77 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,8 @@ jobs:
- /tmp/ds005/derivatives/freesurfer

test_pytest:
machine:
image: circleci/classic:201711-01
docker:
- image: circleci/python:latest
rwblair marked this conversation as resolved.
Show resolved Hide resolved
working_directory: /home/circleci/src/smriprep
steps:
- checkout
Expand All @@ -173,8 +173,7 @@ jobs:
- run:
name: Setup Python environment
command: |
pyenv global 3.5.2
rwblair marked this conversation as resolved.
Show resolved Hide resolved
pip install --upgrade "setuptools>=30.3.0" "pip>=18.1" twine docutils
pip install --user --upgrade "setuptools>=30.3.0" "pip>=18.1" twine docutils
- run:
name: Check PyPi preconditions
command: |
Expand All @@ -183,7 +182,7 @@ jobs:
- run:
name: Install sMRIPrep
no_output_timeout: 30m
command: pip install ".[test]"
command: pip install --user ".[test]"
- run:
name: Run sMRIPrep tests
no_output_timeout: 2h
Expand Down Expand Up @@ -427,6 +426,53 @@ jobs:
- store_artifacts:
path: /tmp/ds054

build_docs:
docker:
- image: python:latest
environment:
- FSLOUTPUTTYPE: NIFTI
steps:
- checkout
- run:
name: Install Graphviz
command: apt update && apt -y install graphviz
- run:
name: Install deps
command: pip install -r requirements.txt && pip install -r docs/requirements.txt
- run:
name: Build only this commit
command: sphinx-build -W ./docs ./docs/_build/no_version_html
- run:
name: Generate Docs
command: sphinx-versioning -vv build -r ci_doc_deploy ./docs ./docs/_build/html/
rwblair marked this conversation as resolved.
Show resolved Hide resolved
- persist_to_workspace:
root: docs/_build
paths: html
- store_artifacts:
path: ./docs/_build/html

deploy_docs:
docker:
- image: node:8.10.0
steps:
- checkout
- attach_workspace:
at: docs/_build
- run:
name: Disable jekyll builds
command: touch docs/_build/html/.nojekyll
- run:
name: Install and configure dependencies
command: |
npm install -g --silent [email protected]
git config user.email "[email protected]"
git config user.name "ci-build"
- add_ssh_keys:
fingerprints:
- "45:a6:cb:50:27:5a:c7:39:4c:1f:aa:2c:0f:87:8a:a6"
- run:
name: Deploy docs to gh-pages branch
command: gh-pages --dotfiles --message "[skip ci] Updates" --dist docs/_build/html

workflows:
version: 2
Expand All @@ -446,17 +492,32 @@ workflows:
tags:
only: /.*/

# - build_docs:
# requires:
# - build
# filters:
# branches:
# ignore:
# - /tests?\/.*/
# - /ds005\/.*/
# - /ds054\/.*/
# tags:
# only: /.*/
- build_docs:
#requires:
# - deploy_docker
# - deploy_pypi
filters:
branches:
ignore:
- /tests?\/.*/
- /ds005\/.*/
- /ds054\/.*/
tags:
only: /.*/

- deploy_docs:
requires:
- build_docs
- deploy_docker
- deploy_pypi
filters:
branches:
ignore:
- /tests?\/.*/
- /ds005\/.*/
- /ds054\/.*/
tags:
only: /.*/

- update_cache:
requires:
Expand Down
2 changes: 1 addition & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,4 @@ in `poldracklab/fmriprep#1588 <https://github.com/poldracklab/fmriprep/issues/15
0.0.2 (January 8, 2019)
========================

First functional version after forking from fMRIPrep
* First functional version after forking from fMRIPrep
11 changes: 11 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. include:: links.rst

smriprep: A Robust Preprocessing Pipeline for Structural MRI Data
=================================================================

This pipeline is developed by the `Poldrack lab at Stanford University
<https://poldracklab.stanford.edu/>`_ for use at the `Center for Reproducible
Neuroscience (CRN) <http://reproducibility.stanford.edu/>`_, as well as for
open-source software distribution.

This package is called directly from fMRIPrep_.
Empty file added docs/.nojekyll
Empty file.
19 changes: 19 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Binary file added docs/_static/ajax-loader.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading