Documentation #564
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Documentation | |
on: | |
push: | |
branches: [ development ] | |
pull_request: | |
branches: [ development ] | |
if: github.event.pull_request.draft == false | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' | |
required: false | |
default: false | |
env: | |
CONAN_PRINT_RUN_COMMANDS: 1 | |
CONAN_REVISIONS_ENABLED: 1 | |
OMP_NUM_THREADS: 2 | |
CONAN_CPU_COUNT: 2 | |
USE_CONAN: 0 | |
jobs: | |
make-documentation: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out sopt | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# Enable tmate debugging of manually-triggered workflows if the input option was provided | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
# Note that we are installing doxygen with apt here, and with conan in the Configure step. | |
# This is because there is no easy way of extracting the path to the doxygen executable from conan. | |
# the apt installed doxygen is used in the Make Docweb step to build the html files, | |
# while the conan installed version is used in the build step. | |
# -> Is this still true for Conan v2? | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev doxygen graphviz ccache | |
if [[ "$USE_CONAN" = 1 ]]; then | |
pip install conan | |
else | |
sudo apt install libeigen3-dev libtiff-dev | |
git clone https://github.com/catchorg/Catch2.git -b v3.4.0 | |
mkdir Catch2/build | |
cd Catch2/build | |
cmake .. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${PWD} | |
make -j$(nproc --ignore 1) | |
make -j$(nproc --ignore 1) install | |
cd - | |
fi | |
- name: Build | |
run: | | |
if [[ "$USE_CONAN" = 1 ]]; then | |
conan build ${{github.workspace}} -of ${{github.workspace}}/build | |
else | |
export CMAKE_PREFIX_PATH=${{github.workspace}}/Catch2/build/lib/cmake:$CMAKE_PREFIX_PATH | |
mkdir ${{github.workspace}}/build | |
cd ${{github.workspace}}/build | |
cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${PWD} -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON | |
make -j$(nproc --ignore 1) | |
make -j$(nproc --ignore 1) install | |
fi | |
- name: Make Docweb | |
run: | | |
if [[ "$USE_CONAN" = 0 ]]; then | |
cd build | |
make docweb VERBOSE=1 | |
fi | |
- name: Deploy to GH pages | |
if: ${{github.event_name == 'push'}} | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages # The branch the action should deploy to. | |
folder: build/cpp/docs/html # The folder the action should deploy. |