From 30fdf82436b1f9db801395c348f96901ab3ce5f8 Mon Sep 17 00:00:00 2001 From: hiker Date: Fri, 31 Jan 2014 15:22:52 +1100 Subject: [PATCH] Adding Tomreyn's travis build files - this time to master ;) --- .travis.yml | 34 +++++++++++++++++ tools/build-linux-travis.sh | 75 +++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 .travis.yml create mode 100755 tools/build-linux-travis.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..983e7166d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,34 @@ +# Travis-CI configuration file for SuperTuxKart +# +# Configuration manual: +# http://docs.travis-ci.com/user/build-configuration/ +# +language: cpp +compiler: + - gcc + #- clang +git: + submodules: false +#branches: +# only: +# - master +before_install: + # UPDATE REPOS + - sudo apt-get update -qq + # INSTALL DEPENDENCIES + - sudo apt-get install autoconf automake build-essential cmake libogg-dev libvorbis-dev libopenal-dev libxxf86vm-dev libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev libfribidi-dev libbluetooth-dev +script: + # BUILD COMMANDS + - ./tools/build-linux-travis.sh +notifications: + irc: + channels: + - "irc.freenode.org#stk" + skip_join: false + use_notice: true + template: + #- "[%{commit}: %{author}] %{message}" + #- "%{build_url}" + - "[%{repository}#%{branch} @%{commit}] %{author}): %{message}" + - "Diff: %{compare_url}" + - "Build: %{build_url}" diff --git a/tools/build-linux-travis.sh b/tools/build-linux-travis.sh new file mode 100755 index 000000000..94d1ee305 --- /dev/null +++ b/tools/build-linux-travis.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# Automate the build process on Linux based on +# http://supertuxkart.sourceforge.net/Build_STK_on_Linux + +# CMake build type +BUILDTYPE=Debug + +# Number of threads to use during compilation (make -j) +THREADS=`lscpu -p | grep -v '^#' | wc -l` + +# Relative path to the root directory of this Git repository +REPOROOT=.. + +export LANG=C + +if [ "$CI" = 'true' -a "$TRAVIS" = 'true' ] +then + THREADS=4 +fi + +CURRENTDIR=`pwd` +SCRIPTDIR=`dirname "$0"` + +cd "$SCRIPTDIR" +cd "$REPOROOT" +rm -rf cmake_build + +# One might want to do that to REALLY clean up +#git reset --hard +#git checkout master +#git pull +REVISION=`git rev-parse HEAD` + +# If you had Git submodules: +#git submodule foreach git reset --hard +#git submodule foreach git checkout master +#git submodule foreach git pull + +mkdir cmake_build +cd cmake_build + +cmake .. -DCMAKE_BUILD_TYPE=$BUILDTYPE 2>&1 +EXITCODE=$? +if [ $EXITCODE -ne 0 ] +then + echo + echo 'ERROR: CMAKE failed with exit code '"$EXITCODE" + echo 'Git revision: '"$REVISION" + cd "$CURRENTDIR" + exit $EXITCODE +fi + +make VERBOSE=1 -j $THREADS 2>&1 +EXITCODE=$? +if [ $EXITCODE -ne 0 ] +then + echo + echo 'ERROR: MAKE failed with exit code '"$EXITCODE" + echo 'Git revision: '"$REVISION" + cd "$CURRENTDIR" + exit $EXITCODE +fi + +cd "$SCRIPTDIR" +echo +echo 'SUCCESS: Build succeeded.' +echo 'Git revision: '"$REVISION" +echo +#git status +#git submodule foreach git status +#git submodule foreach git rev-parse HEAD +#ls -l cmake_build/bin/supertuxkart + +cd "$CURRENTDIR"