47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
|
name: Build Shaka Packager Docs
|
||
|
|
||
|
description: |
|
||
|
A reusable action to build Shaka Packager docs.
|
||
|
Leaves docs output in the "gh-pages" folder.
|
||
|
Only runs in Linux due to the dependency on doxygen, which we install with
|
||
|
apt.
|
||
|
|
||
|
runs:
|
||
|
using: composite
|
||
|
steps:
|
||
|
- name: Install dependencies
|
||
|
shell: bash
|
||
|
run: |
|
||
|
echo "::group::Install dependencies"
|
||
|
sudo apt install -y doxygen
|
||
|
python3 -m pip install \
|
||
|
sphinxcontrib.plantuml \
|
||
|
recommonmark \
|
||
|
cloud_sptheme \
|
||
|
breathe
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
- name: Generate docs
|
||
|
shell: bash
|
||
|
run: |
|
||
|
echo "::group::Prepare output folders"
|
||
|
mkdir -p gh-pages
|
||
|
cd src
|
||
|
mkdir -p out
|
||
|
echo "::endgroup::"
|
||
|
echo "::group::Build Doxygen docs"
|
||
|
# Doxygen must run before Sphinx. Sphinx will refer to
|
||
|
# Doxygen-generated output when it builds its own docs.
|
||
|
doxygen docs/Doxyfile
|
||
|
echo "::endgroup::"
|
||
|
echo "::group::Build Sphinx docs"
|
||
|
# Now build the Sphinx-based docs.
|
||
|
make -C docs/ html
|
||
|
echo "::endgroup::"
|
||
|
echo "::group::Move ouputs"
|
||
|
# Now move the generated outputs.
|
||
|
cp -a out/sphinx/html ../gh-pages/html
|
||
|
cp -a out/doxygen/html ../gh-pages/docs
|
||
|
cp docs/index.html ../gh-pages/index.html
|
||
|
echo "::endgroup::"
|