1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Sphinx Github actions problem |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Yendell, Gary (DLSLtd,RAL,LSCI)" <gary.yendell at diamond.ac.uk>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Fri, 10 Mar 2023 00:03:03 +0000 |
Hi Gary, Thanks very much! I changed my .yml file to be similar to yours, and now it works fine. I put the Doxygen output into docs/_build/html/doxygenHTML, and publish the docs/_build/html directory. That avoids the conflict of the index.html
files. It is working for both a local build and the Github pages build. Thanks, Mark From: Yendell, Gary (DLSLtd,RAL,LSCI) <gary.yendell at diamond.ac.uk>
Hi Mark,
It looks like sphinx-notes/pages
is doing what the peaceiris/actions-gh-pages [1] action does, with addition of
running the sphinx build for you, but without actually deploying the branch it updates so that you have to do it manually. The latter is much more widely used. I have a similar build of a project [2] using doxygen and sphinx that just runs `doxygen` and `sphinx-build -ET docs/ build/html/` directly and then
uses the action like so:
to deploy the build directory to GitHub Pages. It works pretty nicely. [2] https://github.com/dls-controls/pmacFilterControl/blob/main/.github/workflows/docs.yml Cheers, Gary From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> Folks, I found a rather ugly solution.
·
I had Doxygen put its output in docs/doxygenHTML
·
I added these 2 lines to docs/source/conf.py html_extra_path = ['../doxygenHTML'] exclude_patterns = ['index.html'] The first line tells Sphinx to copy all of the files in doxygenHTML/ to _build/html when it builds. There seems to be no way to tell Sphinx to put the files in a subfolder,
so there will be a conflict with index.html, which exists both for the Sphinx build and for the Doxygen build. So the second line tells Sphinx to exclude copying the Doxygen index.html file. In this specific case that is OK, because I had no useful information
on the main Doxygen page, but in general this would be a serious issue. I also had to add these lines to my Github Actions publish-docs.yml file after the Doxygen build: - name: Change Doxygen output permissions so Sphinx can delete run: | sudo chmod -R 777 docs/doxygenHTML That is because Doxygen creates files owned by root, and Sphinx cannot delete them without changing their permissions. It seems like there should be a better way to do this, so I am happy to hear any suggestions! Thanks, Mark From: Mark Rivers Folks, I am trying to build the asyn Web pages with Github Actions. I need to do 2 things:
Both of these work separately, but not together. If I run the Doxygen build first, it generates the output files fine. But then the Sphinx build (sphinx-notes/pages@v2)
tries to delete all of the files that Doxygen generated. I have tried having the Doxygen output go into the following locations: /docs/doxygenOutput /doxygenOutput /docs/source/_static/doxygenOutput In all cases Doxygen works fine, but then the Sphinx build tries to delete the Doxygen files. The Sphinx build the actually fails because the doxygen generated files are
owned by root. But even if it succeeded it would not work, since those files need to remain after the build. If I run the Sphinx build first then Doxygen fails because the Sphinx build has already deleted the docs/ directory containing the Doxyfile. Any idea solve this? Thanks, Mark -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. |