diff --git a/contrib/teamcity/build-configurations.json b/contrib/teamcity/build-configurations.json --- a/contrib/teamcity/build-configurations.json +++ b/contrib/teamcity/build-configurations.json @@ -95,6 +95,16 @@ ], "timeout": 1200 }, + "build-docs": { + "script": "builds/build-docs.sh", + "templates": [ + "common_unix_artifacts" + ], + "timeout": 600, + "artifacts": { + "doc/*": "doc" + } + }, "build-ibd": { "script": "builds/build-ibd.sh", "templates": [ @@ -154,10 +164,7 @@ "templates": [ "common_unix_artifacts" ], - "timeout": 4800, - "artifacts": { - "doc/Doxyfile": "doc/Doxyfile" - } + "timeout": 4800 }, "build-osx": { "script": "builds/build-osx.sh", diff --git a/contrib/teamcity/builds/build-docs.sh b/contrib/teamcity/builds/build-docs.sh new file mode 100755 --- /dev/null +++ b/contrib/teamcity/builds/build-docs.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +export LC_ALL=C.UTF-8 + +set -euxo pipefail + +# shellcheck source=../ci-fixture.sh +source "${TOPLEVEL}/contrib/teamcity/ci-fixture.sh" + +# Build. This also generates doc/Doxyfile +build_with_cmake bitcoind bitcoin-cli + +./src/bitcoind -regtest & +BITCOIND_PID=$! +cleanup() { + kill "${BITCOIND_PID}" +} +trap "cleanup" EXIT + +echo "Waiting for bitcoind to spin up..." +READY="no" +for _ in {1..5}; do + if ./src/bitcoin-cli -regtest help > /dev/null ; then + READY="yes" + break + fi + sleep 1 + echo "." +done + +if [ "${READY}" != "yes" ]; then + echo "Error: bitcoind is not ready or was not started" + exit 1 +fi + +# Generate RPC documentation +ninja doc-rpc