From cfedb03a09fe9a43bf0daf2c24b94ca98ab66f31 Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Mon, 24 Feb 2020 11:28:24 +0000 Subject: Create build script for Jenkins (and use it) (#4473) * Add Jenkins build script, so it can actually be used. * Build tools * Reduce build threads to 2 so as not to overload server * Rename CIBuild.sh to travisbuild.sh, better reflect actual use * Echo commands as they are executed * Add toolchain file configuration --- travisbuild.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 travisbuild.sh (limited to 'travisbuild.sh') diff --git a/travisbuild.sh b/travisbuild.sh new file mode 100755 index 000000000..b4163f0a8 --- /dev/null +++ b/travisbuild.sh @@ -0,0 +1,47 @@ + #!/usr/bin/env bash + +set -e + +export CUBERITE_BUILD_SERIES_NAME="Travis $CC $TRAVIS_CUBERITE_BUILD_TYPE" +export CUBERITE_BUILD_ID=$TRAVIS_JOB_NUMBER +export CUBERITE_BUILD_DATETIME=`date` + +# Use ccache if available +if [ `which ccache` ]; then + export CCACHE_CPP2=true + CACHE_ARGS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" + echo "Using ccache installed at $(which ccache)" +fi + +cmake . -DBUILD_TOOLS=1 -DSELF_TEST=1 ${CACHE_ARGS}; + +echo "Building..." +cmake --build . -- -j 2; +ctest -j 2 -V; + +echo "Testing..." + +cd Server/; +touch apiCheckFailed.flag +if [ "$TRAVIS_CUBERITE_BUILD_TYPE" != "COVERAGE" ]; then + ./Cuberite <<- EOF + load APIDump + apicheck + restart + stop + EOF + if [ -f ./NewlyUndocumented.lua ]; then + echo "ERROR: Newly undocumented API symbols found:" + cat ./NewlyUndocumented.lua + exit 1 + fi + if [ -f ./DuplicateDocs.txt ]; then + echo "ERROR: API documentation has duplicate symbol warnings:" + cat ./DuplicateDocs.txt + exit 1 + fi + if [ -f ./apiCheckFailed.flag ]; then + echo "ERROR: API check has failed with an unknown error" + exit 1 + fi +fi -- cgit v1.2.3