Skip to content

Commit

Permalink
Add a workflow for building the docs
Browse files Browse the repository at this point in the history
  • Loading branch information
tmadlener committed Jan 18, 2024
1 parent d8b2997 commit 1c62191
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 0 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: publish-doc

on:
push:
branches:
- 'master'
- 'docs-on-gh-pages'
tags:
- v*-*
workflow_dispatch:

concurrency:
group: pages
cancel-in-progress: true

jobs:
build-doc:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/configure-pages@v4
- uses: cvmfs-contrib/github-action-cvmfs@v3
- uses: aidasoft/run-lcg-view@v4
with:
container: el9
view-path: /cvmfs/sw-nightlies.hsf.org/key4hep
run: |
echo "::group::Install dependencies"
python3 -m pip install -r doc/requirements.txt
export PATH=/root/.local/bin:$PATH
echo -e "::endgroup::\n::group::Build podio"
cmake -B build . --install-prefix=$(pwd)/install \
-GNinja -DENABLE_SIO=ON -DENABLE_RNTUPLE=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_CXX_STANDARD=17
cmake --build build --target install
export PYTHONPATH=$(pwd)/install/python:$PYTHONPATH
export LD_LIBRARY_PATH=$(pwd)/install/lib*/:$LD_LIBRARY_PATH
export ROOT_INCLUDE_PATH=$(pwd)/install/include
echo -e "::endgroup::\n::group::build doc"
sphinx-build -M html doc doc_output
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: doc_output/html

publish-doc:
needs: build-doc
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
ref: gh-pages
- uses: actions/download-artifact@v4
with:
name: github-pages
path: doc_artifact

- name: Update documentation
env:
TARGET_DIR: ${{ github.ref_name }}
run: |
mkdir -p ${TARGET_DIR}
rm -rf ${TARGET_DIR}/*
tar -xvf doc_artifact/artifact.tar --directory ${TARGET_DIR}
rm -r doc_artifact
- name: Commit and push changes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TARGET_DIR: ${{ github.ref_name }}
run: |
git config --global user.email ${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com
git config --global user.name ${GITHUB_ACTOR}
git add ${TARGET_DIR}
git diff-index --quiet HEAD 2>&1 > /dev/null || git commit -m "Update documentation for ${TARGET_DIR}" && git push
2 changes: 2 additions & 0 deletions doc/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ breathe
myst-parser
sphinx
sphinx_rtd_theme
sphinx_copybutton
sphinx_multiversion

0 comments on commit 1c62191

Please sign in to comment.