{"thread":{"id":"45804","subject":"[PATCH v2 0/4] travis-ci: build docs with asciidoctor","startedAt":"2017-04-26T19:15:54Z","lastAt":"2017-04-27T01:21:08Z","messageCount":6,"participants":["Lars Schneider","Junio C Hamano"],"isPatch":true,"patchVersion":2,"patchTotal":4},"messages":[{"id":"317947","messageId":"20170426191545.27552-1-larsxschneider@gmail.com","threadId":"45804","inReplyTo":null,"subject":"[PATCH v2 0/4] travis-ci: build docs with asciidoctor","fromName":"Lars Schneider","fromEmail":"larsxschneider@gmail.com","sentAt":"2017-04-26T19:15:41Z","receivedAt":"2017-04-26T19:15:54Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"Hi,\n\nchanges since v1:\n\n* check Asciidoctor stderr output (Brian)\n  http://public-inbox.org/git/20170418104411.hdkzh3psvej63tqw@genre.crustytoothpaste.net/\n\n* fix make style nit (Junio)\n  http://public-inbox.org/git/xmqq37dcorr7.fsf@gitster.mtv.corp.google.com/\n\n\nThanks,\nLars\n\nBase Ref: master\nWeb-Diff: https://github.com/larsxschneider/git/commit/315affa7c0\nCheckout: git fetch https://github.com/larsxschneider/git travisci/asciidoctor-v2 && git checkout 315affa7c0\nInterdiff (v1..v2):\n\ndiff --git a/ci/test-documentation.sh b/ci/test-documentation.sh\nindex 81f123e68d..6214e6acb4 100755\n--- a/ci/test-documentation.sh\n+++ b/ci/test-documentation.sh\n@@ -1,4 +1,4 @@\n-#!/bin/sh\n+#!/usr/bin/env bash\n #\n # Perform sanity checks on documentation and build it.\n #\n@@ -9,7 +9,8 @@ make check-builtins\n make check-docs\n\n # Build docs with AsciiDoc\n-make --jobs=2 doc\n+make --jobs=2 doc > >(tee stdout.log) 2> >(tee stderr.log >&2)\n+! test -s stderr.log\n test -s Documentation/git.html\n test -s Documentation/git.xml\n test -s Documentation/git.1\n@@ -17,6 +18,8 @@ grep '<meta name=\"generator\" content=\"AsciiDoc ' Documentation/git.html\n\n # Build docs with AsciiDoctor\n make clean\n-make --jobs=2 doc USE_ASCIIDOCTOR=1\n+make --jobs=2 USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.log >&2)\n+sed '/^GIT_VERSION = / d' stderr.log\n+! test -s stderr.log\n test -s Documentation/git.html\n grep '<meta name=\"generator\" content=\"Asciidoctor ' Documentation/git.html\n\n\\0\n\nLars Schneider (4):\n  travis-ci: build documentation with AsciiDoc and Asciidoctor\n  travis-ci: parallelize documentation build\n  travis-ci: check AsciiDoc/AsciiDoctor stderr output\n  travis-ci: unset compiler for jobs that do not need one\n\n .travis.yml              |  5 +++--\n ci/test-documentation.sh | 15 +++++++++++++--\n 2 files changed, 16 insertions(+), 4 deletions(-)\n\n\nbase-commit: b14f27f91770e0f99f64135348977a0ce1c7993a\n--\n2.12.2\n\n"},{"id":"317948","messageId":"20170426191545.27552-2-larsxschneider@gmail.com","threadId":"45804","inReplyTo":"20170426191545.27552-1-larsxschneider@gmail.com","subject":"[PATCH v2 1/4] travis-ci: build documentation with AsciiDoc and Asciidoctor","fromName":"Lars Schneider","fromEmail":"larsxschneider@gmail.com","sentAt":"2017-04-26T19:15:42Z","receivedAt":"2017-04-26T19:15:56Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"ec3366e introduced a knob to enable the use of Asciidoctor in addition\nto AsciiDoc. Build the documentation on TravisCI with this knob to\nreduce the likeliness of breaking Asciidoctor support in the future.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\n---\n .travis.yml              |  2 +-\n ci/test-documentation.sh | 10 +++++++++-\n 2 files changed, 10 insertions(+), 2 deletions(-)\n\ndiff --git a/.travis.yml b/.travis.yml\nindex 591cc57b80..c26f3bf789 100644\n--- a/.travis.yml\n+++ b/.travis.yml\n@@ -69,7 +69,7 @@ matrix:\n           - asciidoc\n           - xmlto\n       before_install:\n-      before_script:\n+      before_script: gem install asciidoctor\n       script: ci/test-documentation.sh\n       after_failure:\n \ndiff --git a/ci/test-documentation.sh b/ci/test-documentation.sh\nindex 579d540d32..bf23b2caea 100755\n--- a/ci/test-documentation.sh\n+++ b/ci/test-documentation.sh\n@@ -7,8 +7,16 @@ set -e\n \n make check-builtins\n make check-docs\n-make doc\n \n+# Build docs with AsciiDoc\n+make doc\n test -s Documentation/git.html\n test -s Documentation/git.xml\n test -s Documentation/git.1\n+grep '<meta name=\"generator\" content=\"AsciiDoc ' Documentation/git.html\n+\n+# Build docs with AsciiDoctor\n+make clean\n+make USE_ASCIIDOCTOR=1 doc\n+test -s Documentation/git.html\n+grep '<meta name=\"generator\" content=\"Asciidoctor ' Documentation/git.html\n-- \n2.12.2\n\n"},{"id":"317949","messageId":"20170426191545.27552-3-larsxschneider@gmail.com","threadId":"45804","inReplyTo":"20170426191545.27552-1-larsxschneider@gmail.com","subject":"[PATCH v2 2/4] travis-ci: parallelize documentation build","fromName":"Lars Schneider","fromEmail":"larsxschneider@gmail.com","sentAt":"2017-04-26T19:15:43Z","receivedAt":"2017-04-26T19:15:59Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"The documentation job without parallelization takes ~10min on TravisCI.\nWith parallelization (\"--jobs=2\") it takes ~6min.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\n---\n ci/test-documentation.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/ci/test-documentation.sh b/ci/test-documentation.sh\nindex bf23b2caea..58962d668a 100755\n--- a/ci/test-documentation.sh\n+++ b/ci/test-documentation.sh\n@@ -9,7 +9,7 @@ make check-builtins\n make check-docs\n \n # Build docs with AsciiDoc\n-make doc\n+make --jobs=2 doc\n test -s Documentation/git.html\n test -s Documentation/git.xml\n test -s Documentation/git.1\n@@ -17,6 +17,6 @@ grep '<meta name=\"generator\" content=\"AsciiDoc ' Documentation/git.html\n \n # Build docs with AsciiDoctor\n make clean\n-make USE_ASCIIDOCTOR=1 doc\n+make --jobs=2 USE_ASCIIDOCTOR=1 doc\n test -s Documentation/git.html\n grep '<meta name=\"generator\" content=\"Asciidoctor ' Documentation/git.html\n-- \n2.12.2\n\n"},{"id":"317950","messageId":"20170426191545.27552-4-larsxschneider@gmail.com","threadId":"45804","inReplyTo":"20170426191545.27552-1-larsxschneider@gmail.com","subject":"[PATCH v2 3/4] travis-ci: check AsciiDoc/AsciiDoctor stderr output","fromName":"Lars Schneider","fromEmail":"larsxschneider@gmail.com","sentAt":"2017-04-26T19:15:44Z","receivedAt":"2017-04-26T19:16:02Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"`make` does not necessarily fail with an error code if\nAsciidoc/AsciiDoctor encounters problems. Anything written to stderr\nmight be a better indicator for problems.\n\nEnsure that nothing is written to stderr during a documentation build.\n\nThe redirects do not work in `sh`, therefore the script uses `bash`.\nThis shouldn't be a problem as the script is only executed on TravisCI.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\n---\n ci/test-documentation.sh | 9 ++++++---\n 1 file changed, 6 insertions(+), 3 deletions(-)\n\ndiff --git a/ci/test-documentation.sh b/ci/test-documentation.sh\nindex 58962d668a..6214e6acb4 100755\n--- a/ci/test-documentation.sh\n+++ b/ci/test-documentation.sh\n@@ -1,4 +1,4 @@\n-#!/bin/sh\n+#!/usr/bin/env bash\n #\n # Perform sanity checks on documentation and build it.\n #\n@@ -9,7 +9,8 @@ make check-builtins\n make check-docs\n \n # Build docs with AsciiDoc\n-make --jobs=2 doc\n+make --jobs=2 doc > >(tee stdout.log) 2> >(tee stderr.log >&2)\n+! test -s stderr.log\n test -s Documentation/git.html\n test -s Documentation/git.xml\n test -s Documentation/git.1\n@@ -17,6 +18,8 @@ grep '<meta name=\"generator\" content=\"AsciiDoc ' Documentation/git.html\n \n # Build docs with AsciiDoctor\n make clean\n-make --jobs=2 USE_ASCIIDOCTOR=1 doc\n+make --jobs=2 USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.log >&2)\n+sed '/^GIT_VERSION = / d' stderr.log\n+! test -s stderr.log\n test -s Documentation/git.html\n grep '<meta name=\"generator\" content=\"Asciidoctor ' Documentation/git.html\n-- \n2.12.2\n\n"},{"id":"317951","messageId":"20170426191545.27552-5-larsxschneider@gmail.com","threadId":"45804","inReplyTo":"20170426191545.27552-1-larsxschneider@gmail.com","subject":"[PATCH v2 4/4] travis-ci: unset compiler for jobs that do not need one","fromName":"Lars Schneider","fromEmail":"larsxschneider@gmail.com","sentAt":"2017-04-26T19:15:45Z","receivedAt":"2017-04-26T19:16:04Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"TravisCI does not need to setup any compiler for the documentation\nbuild. Clear the value to fix this.\n\nThe Linux32 build job does not define the compiler but it inherits the\nvalue from the base job. Since it does not need the compiler either\nbecause the build runs inside a Docker container we should clear this,\ntoo.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\n---\n .travis.yml | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)\n\ndiff --git a/.travis.yml b/.travis.yml\nindex c26f3bf789..e5e7c3edd7 100644\n--- a/.travis.yml\n+++ b/.travis.yml\n@@ -41,6 +41,7 @@ matrix:\n   include:\n     - env: Linux32\n       os: linux\n+      compiler:\n       services:\n         - docker\n       before_install:\n@@ -62,7 +63,7 @@ matrix:\n         # root@container:/# /usr/src/git/ci/run-linux32-build.sh\n     - env: Documentation\n       os: linux\n-      compiler: clang\n+      compiler:\n       addons:\n         apt:\n           packages:\n-- \n2.12.2\n\n"},{"id":"318023","messageId":"xmqqshkuprwj.fsf@gitster.mtv.corp.google.com","threadId":"45804","inReplyTo":"20170426191545.27552-4-larsxschneider@gmail.com","subject":"Re: [PATCH v2 3/4] travis-ci: check AsciiDoc/AsciiDoctor stderr output","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-04-27T01:21:00Z","receivedAt":"2017-04-27T01:21:08Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Lars Schneider <larsxschneider@gmail.com> writes:\n\n> Ensure that nothing is written to stderr during a documentation build.\n\nI guess we'll know if any output to stderr is an error, or if there\nare some informational output that would trigger failure from this\nchange soon enough.  Will queue.\n\nThanks.\n"}]}