Andre Lorbach 6de9790f11 doc: add GitHub Actions workflow to deploy docs with GA to Pages
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.
2026-02-18 18:00:23 +01:00
..