-
Notifications
You must be signed in to change notification settings - Fork 663
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
automatically deploy development docs #386
Comments
- build and deploy development docs from Travis-CI - see #386 for details - closes Issue #386 NOTE: The development docs are now visible at http://www.mdanalysis.org/mdanalysis/ (so various URLs and forwarding for devdocs.mdanalysis.org need to be changed)
- build and deploy development docs from Travis-CI - see #386 for details - closes Issue #386 NOTE: The development docs are now visible at http://www.mdanalysis.org/mdanalysis/ (so various URLs and forwarding for devdocs.mdanalysis.org need to be changed)
Looks like it didn't work? https://travis-ci.org/MDAnalysis/mdanalysis/builds/79970890
It looks like sphinx isn't seeing the Cython modules? |
They are not installed locally in the package folder. You have to build them with
Then the shared object files will be where Sphinx and the Python interpreter can pick them up |
As suggested by @kain88-de in #386, we let travis also build the libraries in place (with "python setup.py build_ext --inplace") so that sphinx can properly import the local build of MDAnalysis. Manually tested but needs to be run on travis on the develop branch to check that it performs as it should.
I just pushed 80bc2a2 (directly to develop), which includes @kain88-de 's fix. It means that we're rebuilding the library a second time but that's hopefully not too bad. However, just failed with:
I guess this means that the A bit more annoying is that as soon as we're running multiple CI workers, each one will deploy the docs as well. Maybe there's a way to mark one worker as special or perhaps Travis sets some environment variables that we could use? |
57eebe1#diff-354f30a63fb0907d4ad57269548329e3R27 WRT the last point, once we're running multiple jobs, we can nominate one as the "master" one that does the doc push ( |
For multiple jobs, I found a solution at steveklabnik/automatically_update_github_pages_with_travis_example#5 I am currently trying out things on the test-docdeploy branch. |
- As suggested by @kain88-de in #386, we let travis also build the libraries in place (with "python setup.py build_ext --inplace") so that sphinx can properly import the local build of MDAnalysis. - use subshells when using cd (should avoid not finding the deploy script) and should make the travis process more robust - only run doc deployment if we are the first job in the build matrix (from @bguiz , see steveklabnik/automatically_update_github_pages_with_travis_example#5) - configure almost everything through env vars in .travis.yml
When the module are already build my fix will just cause a copy to the right place and not a full rebuild. |
- GridDataFormat docs are available in RTD and from mdanalysis.org; although the latter are thus not strictly necessary, I still like to have "our" version of the docs around. After MDAnalysis/mdanalysis#386 I implemented Travis-CI based doc deployment. - Uses same OAuth token (for orbeckst) as MDAnalysis - added new ci directory with ci/deploy_docs.sh script - added sphinx conf.py so that the checked out repository (../../) is at the head of the sys.path in order to guarantee that the current module is used for sphinx
- GridDataFormat docs are available in RTD and from mdanalysis.org; although the latter are thus not strictly necessary, I still like to have "our" version of the docs around. After MDAnalysis/mdanalysis#386 I implemented Travis-CI based doc deployment. - Uses same OAuth token (for orbeckst) as MDAnalysis but needed to generate secure GH_TOKEN for MDAnalysis/GridDataFormats repository - added new ci directory with ci/deploy_docs.sh script - added sphinx conf.py so that the checked out repository (../../) is at the head of the sys.path in order to guarantee that the current module is used for sphinx - build docs from the master branch
automatically deploy docs from travis - Docs are built in the first travis-ci job and pushed to gh-pages. - Docs appear now at http://www.mdanalysis.org/GridDataFormats/. - Implementation follows MDAnalysis/mdanalysis#386 but see commit messages for details. - Functionality was tested successfully with `GH_DOC_BRANCH=ci-deploydocs` (but this won't work anymore on the ci-deploydocs branch because I rewrote the history which includes the final `GH_DOC_BRANCH=master` so that docs are built from master only)
- closes issue #24 - release docs are hosted on RTD at http://gromacswrapper.readthedocs.org/en/latest/ - once we get testing on Travis working (#23) then we can also build develop docs automatically as described under MDAnalysis/mdanalysis#386
…elines to own page and removed anything on manually building developer docs (see MDAnalysis#386 for the new procedure)
- fixes #1337 - new token was generated because the old token was exposed due to a security incident at Travis CI, see https://blog.travis-ci.com/2017-05-08-security-advisory - followed #386 for generating new token and encrypting for Travis CI
- fixes #1337 - new token was generated because the old token was exposed due to a security incident at Travis CI, see https://blog.travis-ci.com/2017-05-08-security-advisory - followed #386 for generating new token and encrypting for Travis CI
- fixes #1337 - new token was generated because the old token was exposed due to a security incident at Travis CI, see https://blog.travis-ci.com/2017-05-08-security-advisory - followed #386 for generating new token and encrypting for Travis CI
- added encrypted GH_TOKEN for doc deployment to gh_pages - added ci/deploy_docs.sh (from MDAnalysis/MDAnalysisTutorial) - added Doc task for travis (copied from MDAnalysis/mdanalysis .travis.yml, see also MDAnalysis/mdanalysis#386 ) - build the docs with `python setup.py build_sphinx` - use build/sphinx/html as doc dir - push to gh_pages - manually pushed the first time to create gh_pages branch which is visible at https://www.mdanalysis.org/pmda/ - updated .gitignore
- added encrypted GH_TOKEN for doc deployment to gh_pages - added ci/deploy_docs.sh (from MDAnalysis/MDAnalysisTutorial) - added Doc task for travis (copied from MDAnalysis/mdanalysis .travis.yml, see also MDAnalysis/mdanalysis#386 ) - build the docs with `python setup.py build_sphinx` - use build/sphinx/html as doc dir - push to gh_pages - manually pushed the first time to create gh_pages branch which is visible at https://www.mdanalysis.org/pmda/ - updated .gitignore
Following Automatically Update Github Pages with Travis Example seems straighforward enough in order to have travis-ci build the sphinx docs and then push them to the gh-pages branch. (See also the discussion at the bottom of #350.)
Potential solutions
Progress so far
generated OAUTH token (limit scope to
public_repo
access; I used the tokens web interface but can also be done viacurl
as described in the awestruct gh deployment notes). DONEencrypt for travis with the
travis
client:yields the entry for the
.travis.yml
file:(This is encrypted with the travis public key. For more details, see Travis CI: Encryption keys.)
add lines to
.travis.yml
along the lines of(We want to build the developer docs when we push an update to the developer branch.)
I don't know if an error during doc building will then also signal a failure of a build. Perhaps doc building should be put in a sub shell (e.g.,
- (cd package/doc/sphinx && make html); true
) and always return success?Write a
maintainer/deploy.sh
script (or rake or whatever):package/doc/html
dir and push this cleanly to the gh-pages branch. (This will also have the advantage that the docs will appear nicely as http://www.mdanalysis.org/mdanalysis/index.html )Travis CI <[email protected]>
.test on a feature branch without screwing up our repo...
The text was updated successfully, but these errors were encountered: