]> git.ipfire.org Git - thirdparty/git.git/blob - ci/test-documentation.sh
49f87f50fd79660066ee1571760138bb73be6f8f
[thirdparty/git.git] / ci / test-documentation.sh
1 #!/usr/bin/env bash
2 #
3 # Perform sanity checks on documentation and build it.
4 #
5
6 . ${0%/*}/lib.sh
7
8 filter_log () {
9 sed -e '/^GIT_VERSION=/d' \
10 -e "/constant Gem::ConfigMap is deprecated/d" \
11 -e '/^ \* new asciidoc flags$/d' \
12 -e '/stripped namespace before processing/d' \
13 -e '/Attributed.*IDs for element/d' \
14 -e '/SyntaxWarning: invalid escape sequence/d' \
15 "$1"
16 }
17
18 check_docs () {
19 test -s "$1"/Documentation/git.html &&
20 test -s "$1"/Documentation/git.xml &&
21 test -s "$1"/Documentation/git.1 &&
22 grep "<meta name=\"generator\" content=\"$2 " "$1"/Documentation/git.html
23 }
24
25 make check-builtins
26 make check-docs
27
28 # Build docs with AsciiDoc
29 make doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
30 cat stderr.raw
31 filter_log stderr.raw >stderr.log
32 test ! -s stderr.log
33 check_docs . AsciiDoc
34
35 rm -f stdout.log stderr.log stderr.raw
36 check_unignored_build_artifacts
37
38 # Build docs with AsciiDoctor
39 make clean
40 make USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.raw >&2)
41 cat stderr.raw
42 filter_log stderr.raw >stderr.log
43 test ! -s stderr.log
44 check_docs . Asciidoctor
45
46 rm -f stdout.log stderr.log stderr.raw
47 check_unignored_build_artifacts
48
49 # Build docs with Meson and AsciiDoc
50 meson setup build-asciidoc -Ddocs=html,man -Ddocs_backend=asciidoc
51 meson compile -C build-asciidoc
52 check_docs build-asciidoc AsciiDoc
53 rm -rf build-asciidoc
54
55 # Build docs with Meson and AsciiDoctor
56 meson setup build-asciidoctor -Ddocs=html,man -Ddocs_backend=asciidoctor
57 meson compile -C build-asciidoctor
58 check_docs build-asciidoctor Asciidoctor
59 rm -rf build-asciidoctor
60
61 save_good_tree