mirror of
https://github.com/rsyslog/rsyslog.git
synced 2026-08-24 19:24:14 +02:00
Why: Enable automated deployment of rsyslog documentation to GitHub Pages with Google Analytics, using the same build setup as production. Impact: New workflow, build script, and Docker image updates; removes cleanup_pr_preview job from doc_build.yml. Before: Documentation deploy was manual; PR preview folders lingered on gh-pages after PR close. After: Push to main triggers build and deploy to /doc/ with GA; root redirects to /doc/; robots.txt restricts crawling to /doc/ only; PR preview cleanup removed in favor of Pages artifact deploy. Technical Overview: - Add .github/workflows/doc_deploy_main.yml: triggers on push to main, master, pr/publish-doc or workflow_dispatch; builds in Docker with rsyslog_dev_doc_base_ubuntu:22.04; deploys under /doc/ via upload-pages-artifact; runs container as -u "$(id -u):$(id -g)"; adds root index.html redirect, robots.txt (Allow /doc/, Sitemap). - Add doc/tools/inside_docker_doc_html.sh: uses pre-built venv from image; sets RSYSLOG_DOC_VERSION/RSYSLOG_DOC_RELEASE_TYPE; runs sphinx-build with Furo/sitemap; applies Mermaid fix. - doc/source/conf.py: support RSYSLOG_DOC_VERSION and RSYSLOG_DOC_RELEASE_TYPE env vars; format rst_prolog for non-git builds; use release_type in release string (Gemini feedback). - Add doc/tools/pages-root-index.html (redirect / to /doc/), doc/tools/pages-robots.txt (Allow /doc/, Disallow /, Sitemap). - packaging/docker/dev_env/ubuntu/doc_base/22.04: add python3-venv; pre-build /opt/rsyslog-doc-venv from doc/requirements.txt; build.sh runs from repo root for COPY. - doc/Makefile.am: add inside_docker_doc_html.sh, pages-root-index.html, pages-robots.txt to EXTRA_DIST. - doc_build.yml: remove cleanup_pr_preview job. Requires GOOGLE_ANALYTICS_ID repository secret.