EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20232024  2025  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  <20232024  2025 
<== Date ==> <== Thread ==>

Subject: RE: Sphinx Github actions problem
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 9 Mar 2023 00:30:30 +0000

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
Sent: Wednesday, March 8, 2023 4:30 PM
To: tech-talk at aps.anl.gov
Cc: Jemian, Pete R. <jemian at anl.gov>
Subject: Sphinx Github actions problem

 

Folks,

 

I am trying to build the asyn Web pages with Github Actions.  I need to do 2 things:

  • Run doxygen to build the source code documentation
  • Run Sphinx to build the human-generated documentation

 

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

 


Replies:
Re: Sphinx Github actions problem Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
References:
Sphinx Github actions problem Mark Rivers via Tech-talk

Navigate by Date:
Prev: Sphinx Github actions problem Mark Rivers via Tech-talk
Next: Re: Sphinx Github actions problem Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
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  <20232024  2025 
Navigate by Thread:
Prev: Sphinx Github actions problem Mark Rivers via Tech-talk
Next: Re: Sphinx Github actions problem Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
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  <20232024  2025 
ANJ, 09 Mar 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·