diff options
Diffstat (limited to 'ci/test-documentation.sh')
-rwxr-xr-x | ci/test-documentation.sh | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ci/test-documentation.sh b/ci/test-documentation.sh new file mode 100755 index 0000000000..49f87f50fd --- /dev/null +++ b/ci/test-documentation.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +# +# Perform sanity checks on documentation and build it. +# + +. ${0%/*}/lib.sh + +filter_log () { + sed -e '/^GIT_VERSION=/d' \ + -e "/constant Gem::ConfigMap is deprecated/d" \ + -e '/^ \* new asciidoc flags$/d' \ + -e '/stripped namespace before processing/d' \ + -e '/Attributed.*IDs for element/d' \ + -e '/SyntaxWarning: invalid escape sequence/d' \ + "$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 + +# Build docs with AsciiDoc +make doc > >(tee stdout.log) 2> >(tee stderr.raw >&2) +cat stderr.raw +filter_log stderr.raw >stderr.log +test ! -s stderr.log +check_docs . AsciiDoc + +rm -f stdout.log stderr.log stderr.raw +check_unignored_build_artifacts + +# Build docs with AsciiDoctor +make clean +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 +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 |