diff mbox series

ci: perform build and smoke tests for Meson docs

Message ID 20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im (mailing list archive)
State New
Headers show
Series ci: perform build and smoke tests for Meson docs | expand

Commit Message

Patrick Steinhardt March 12, 2025, 2:28 p.m. UTC
Our "documentation" CI job performs a couple of tests against our
documentation. Part of these tests is to check whether documentation
builds at all and whether it spits out the expected set of files. We
don't yet have such a test for Meson, which means that we wouldn't
notice at all if building the documentation were to break. As a result,
breakages as fixed by 87eccc3a81d (meson: fix building technical and
howto docs, 2025-03-02) are easy to go unnoticed.

Address this test gap by starting to build both manpages and HTML sites
as part of the CI job.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
Hi,

this single patch expands our "documentation" CI job to also start
building Meson documentation.

Thanks!

Patrick
---
 ci/test-documentation.sh | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)


---
base-commit: 87a0bdbf0f72b7561f3cd50636eee33dcb7dbcc3
change-id: 20250312-b4-pks-ci-meson-docs-1fb10b67ebef
diff mbox series

Patch

diff --git a/ci/test-documentation.sh b/ci/test-documentation.sh
index 6c018b673e0..49f87f50fd7 100755
--- a/ci/test-documentation.sh
+++ b/ci/test-documentation.sh
@@ -15,6 +15,13 @@  filter_log () {
 	    "$1"
 }
 
+check_docs () {
+	test -s "$1"/Documentation/git.html &&
+	test -s "$1"/Documentation/git.xml &&
+	test -s "$1"/Documentation/git.1 &&
+	grep "<meta name=\"generator\" content=\"$2 " "$1"/Documentation/git.html
+}
+
 make check-builtins
 make check-docs
 
@@ -23,10 +30,7 @@  make doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
 cat stderr.raw
 filter_log stderr.raw >stderr.log
 test ! -s stderr.log
-test -s Documentation/git.html
-test -s Documentation/git.xml
-test -s Documentation/git.1
-grep '<meta name="generator" content="AsciiDoc ' Documentation/git.html
+check_docs . AsciiDoc
 
 rm -f stdout.log stderr.log stderr.raw
 check_unignored_build_artifacts
@@ -37,10 +41,21 @@  make USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
 cat stderr.raw
 filter_log stderr.raw >stderr.log
 test ! -s stderr.log
-test -s Documentation/git.html
-grep '<meta name="generator" content="Asciidoctor ' Documentation/git.html
+check_docs . Asciidoctor
 
 rm -f stdout.log stderr.log stderr.raw
 check_unignored_build_artifacts
 
+# Build docs with Meson and AsciiDoc
+meson setup build-asciidoc -Ddocs=html,man -Ddocs_backend=asciidoc
+meson compile -C build-asciidoc
+check_docs build-asciidoc AsciiDoc
+rm -rf build-asciidoc
+
+# Build docs with Meson and AsciiDoctor
+meson setup build-asciidoctor -Ddocs=html,man -Ddocs_backend=asciidoctor
+meson compile -C build-asciidoctor
+check_docs build-asciidoctor Asciidoctor
+rm -rf build-asciidoctor
+
 save_good_tree