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>
maint
Patrick Steinhardt 2025-03-12 15:28:54 +01:00 committed by Junio C Hamano
parent 87a0bdbf0f
commit 9451446c61
1 changed files with 21 additions and 6 deletions

View File

@ -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