Skip to content

Merge pull request #1511 from palonso/use-system-python3-cibuildwheel #363

Merge pull request #1511 from palonso/use-system-python3-cibuildwheel

Merge pull request #1511 from palonso/use-system-python3-cibuildwheel #363

Workflow file for this run

name: Build documentation
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-docs:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Fetch release tags from GitHub
# Workaround for https://github.com/actions/checkout/issues/290
run: git fetch --tags --force
- name: Build Essentia and documentation
# Run inside the same image used by cibuildwheel.toml so the
# docs are generated against the same toolchain and static deps as the
# published wheels. We invoke Docker manually (rather than via the job's
# `container:`) because manylinux2014 ships glibc 2.17, which is too old
# for the Node 20 runtime that GitHub Actions injects into containers.
run: |
docker run --rm \
-v "${PWD}:/project" \
-w /project \
mtgupf/essentia-builds:manylinux2014_x86_64 \
bash -euxc '
# Repo is bind-mounted from the host runner; container runs as
# root, so git refuses to touch it without this exception.
git config --global --add safe.directory /project
python3 -m pip install --upgrade pip
python3 -m pip install sphinx pyparsing sphinxcontrib-doxylink docutils jupyter sphinx-toolbox nbformat gitpython sphinx-copybutton
yum install -y doxygen pandoc
python3 waf configure --with-python --with-gaia --with-tensorflow --build-static --static-dependencies --pkg-config-path="${PKG_CONFIG_PATH}"
python3 waf
python3 waf install
python3 waf doc
'
- name: Upload built documentation
uses: actions/upload-artifact@v6
with:
name: essentia-docs
path: |
doc/sphinxdoc/_build/html/*
if-no-files-found: error