ci: perform build and smoke tests for Meson docs

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 87eccc3a81 (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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2025-03-12 15:28:54 +01:00
committed by Junio C Hamano
parent 87a0bdbf0f
commit 9451446c61

View File

@@ -15,6 +15,13 @@ filter_log () {
"$1" "$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-builtins
make check-docs make check-docs
@@ -23,10 +30,7 @@ make doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
cat stderr.raw cat stderr.raw
filter_log stderr.raw >stderr.log filter_log stderr.raw >stderr.log
test ! -s stderr.log test ! -s stderr.log
test -s Documentation/git.html check_docs . AsciiDoc
test -s Documentation/git.xml
test -s Documentation/git.1
grep '<meta name="generator" content="AsciiDoc ' Documentation/git.html
rm -f stdout.log stderr.log stderr.raw rm -f stdout.log stderr.log stderr.raw
check_unignored_build_artifacts check_unignored_build_artifacts
@@ -37,10 +41,21 @@ make USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
cat stderr.raw cat stderr.raw
filter_log stderr.raw >stderr.log filter_log stderr.raw >stderr.log
test ! -s stderr.log test ! -s stderr.log
test -s Documentation/git.html check_docs . Asciidoctor
grep '<meta name="generator" content="Asciidoctor ' Documentation/git.html
rm -f stdout.log stderr.log stderr.raw rm -f stdout.log stderr.log stderr.raw
check_unignored_build_artifacts 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 save_good_tree