diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index e4e7c35755..3351324c15 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -22,10 +22,8 @@ jobs: uses: actions/setup-python@v2 with: python-version: 3.13 - - name: Update package index - run: sudo apt-get update - name: Install apt-get libs - run: sudo apt-get -y install texlive-xetex=2021.20220204-1 texlive-latex-base=2021.20220204-1 texlive-fonts-recommended=2021.20220204-1 texlive-latex-extra=2021.20220204-1 texlive-full=2021.20220204-1 pandoc libopenmpi-dev + run: sudo apt-get -y install --fix-missing texlive-xetex=2021.20220204-1 texlive-latex-base=2021.20220204-1 texlive-fonts-recommended=2021.20220204-1 texlive-latex-extra=2021.20220204-1 texlive-full=2021.20220204-1 pandoc libopenmpi-dev - name: Setup Graphviz uses: ts-graphviz/setup-graphviz@v2.0.2 - name: Make html/pdf Docs @@ -36,14 +34,19 @@ jobs: run: | echo "Installing ARMI..." set -x - pip install -U pip + #pip install -U pip pip install -e .[memprof,mpi,test,docs] echo "Run unit tests..." - pytest --junit-xml=test_results.xml -v -n 4 armi > pytest_verbose.log - mpiexec -n 2 --use-hwthread-cpus pytest --junit-xml=test_results_mpi1.xml armi/tests/test_mpiFeatures.py > pytest_verbose_mpi1.log - mpiexec -n 2 --use-hwthread-cpus pytest --junit-xml=test_results_mpi2.xml armi/tests/test_mpiParameters.py > pytest_verbose_mpi2.log - mpiexec -n 2 --use-hwthread-cpus pytest --junit-xml=test_results_mpi3.xml armi/utils/tests/test_directoryChangersMpi.py > pytest_verbose_mpi3.log + pytest --junit-xml=/__w/armi/armi/test_results.xml -v -n 4 armi > pytest_verbose.log + echo "============================================================" + ls + ls > tmp.txt + cat tmp.txt + echo "============================================================" + mpiexec -n 2 --use-hwthread-cpus pytest --junit-xml=/__w/armi/armi/test_results_mpi1.xml armi/tests/test_mpiFeatures.py > pytest_verbose_mpi1.log + mpiexec -n 2 --use-hwthread-cpus pytest --junit-xml=/__w/armi/armi/test_results_mpi2.xml armi/tests/test_mpiParameters.py > pytest_verbose_mpi2.log + mpiexec -n 2 --use-hwthread-cpus pytest --junit-xml=/__w/armi/armi/test_results_mpi3.xml armi/utils/tests/test_directoryChangersMpi.py > pytest_verbose_mpi3.log python doc/.static/cleanup_test_results.py test_results.xml echo "Git magic so the SCR will build on GitHub Actions..." diff --git a/.github/workflows/docs_docker.yaml b/.github/workflows/docs_docker.yaml new file mode 100644 index 0000000000..2433d04bed --- /dev/null +++ b/.github/workflows/docs_docker.yaml @@ -0,0 +1,89 @@ +name: Documentation using Docker + +on: + push: + branches: + - main + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-22.04 + container: johnscience/armi:v5 + + # python3.13 -m pytest --junit-xml=test_results.xml -v -n 4 armi > pytest_verbose.log + # mpiexec -n 2 --use-hwthread-cpus python3.13 -m pytest --junit-xml=test_results_mpi1.xml armi/tests/test_mpiFeatures.py > pytest_verbose_mpi1.log + # mpiexec -n 2 --use-hwthread-cpus python3.13 -m pytest --junit-xml=test_results_mpi2.xml armi/tests/test_mpiParameters.py > pytest_verbose_mpi2.log + # mpiexec -n 2 --use-hwthread-cpus python3.13 -m pytest --junit-xml=test_results_mpi3.xml armi/utils/tests/test_directoryChangersMpi.py > pytest_verbose_mpi3.log + + # Building and deploying docs is broken on forked repos + if: github.repository == 'terrapower/armi' + + steps: + - name: Change Ownership of Directories + run: | + chown -R $(whoami) /github/home + chown -R $(whoami) /__w/armi + - name: Checkout repository + uses: actions/checkout@v2 + - name: Make HTML/PDF Docs + continue-on-error: true + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.number }} + run: | + echo "Installing ARMI..." + set -x + python3.13 -m pip install -U setuptools + python3.13 -m pip install -e .[memprof,mpi,test,docs] + + echo "Run unit tests..." + python3.13 -m pytest --junit-xml=test_results.xml -v -n 4 armi/tests/test_runLog.py > pytest_verbose.log + python3.13 -m pytest --junit-xml=test_results.xml -v -n 4 armi/tests/test_apps.py > pytest_verbose_mpi1.log + python3.13 -m pytest --junit-xml=test_results.xml -v -n 4 armi/tests/test_context.py > pytest_verbose_mpi2.log + python3.13 -m pytest --junit-xml=test_results.xml -v -n 4 armi/tests/test_plugins.py > pytest_verbose_mpi3.log + echo "============================================================" + ls + pwd + ls .. + ls / + echo "============================================================" + python3.13 doc/.static/cleanup_test_results.py test_results.xml + + echo "Build HTML docs..." + apt-get install -y gh + cd doc + git submodule init + git submodule update + make html + + echo "Build PDF docs..." + make latex + cd _build/latex/ + latexmk -pdf -f -interaction=nonstopmode ARMI.tex + - name: Deploy + if: github.ref == 'refs/heads/main' + uses: JamesIves/github-pages-deploy-action@v4.6.1 + with: + token: ${{ secrets.ACCESS_TOKEN }} + repository-name: ${{ github.repository_owner }}/terrapower.github.io + branch: main + folder: doc/_build/html + target-folder: armi + - name: Archive HTML Docs + if: github.ref != 'refs/heads/main' + uses: actions/upload-artifact@v4 + with: + name: html-docs + path: doc/_build/html + retention-days: 5 + - name: Archive PDF Docs + uses: actions/upload-artifact@v4 + with: + name: pdf-docs + path: doc/_build/latex/ARMI.pdf + retention-days: 5