name: 'doxygen' description: 'CI doxygen build check' inputs: path: description: 'Path to repository folder to run doxygen generation in.' required: false default: ./ libs_parent_dir_path: description: 'Comma-separated list of parent directory path of libraries. Path should be relative to repository root.' required: false default: ./ doxygen_link: description: 'Download link for doxygen tar.gz (default version 1.9.6).' required: false default: "https://sourceforge.net/projects/doxygen/files/rel-1.9.6/doxygen-1.9.6.linux.bin.tar.gz" doxygen_dependencies: description: 'Space-separated dependencies for doxygen.' required: false default: libclang-11-dev libclang-cpp11 graphviz generate_zip: description: 'Flag to indicate whether a ZIP output should be created.' required: false default: 'false' runs: using: "composite" steps: - name: Install Doxygen run: | wget -qO- "${{ inputs.doxygen_link }}" | sudo tar --strip-components=1 -xz -C /usr/local sudo apt-get install -y ${{ inputs.doxygen_dependencies }} shell: bash - name: Verify Doxygen build and Generate ZIP (if specified) working-directory: ${{ inputs.path }} run: | if [[ ${{ inputs.generate_zip }} == "true" ]]; then python3 $GITHUB_ACTION_PATH/generate_doxygen.py --root ./ --library-directories ${{ inputs.libs_parent_dir_path }} --zip else doxygen docs/doxygen/config.doxyfile 2>&1 | tee doxyoutput.txt if [[ "$(wc -c < doxyoutput.txt | bc)" = "0" ]]; then exit 0; else exit 1; fi fi shell: bash