widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #05187
[Merge] lp:~widelands-dev/widelands/travis_clang into lp:widelands
SirVer has proposed merging lp:~widelands-dev/widelands/travis_clang into lp:widelands.
Commit message:
- Move travis build script into a bash file. Just simpler to read and modify than YML.
- Adds travis config for building with clang 3.4, 3.5, 3.6 and 3.7 in Debug and Release.
Requested reviews:
Widelands Developers (widelands-dev)
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/travis_clang/+merge/282123
Travis configuration to also build on Clang, not only gcc.
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/travis_clang into lp:widelands.
=== added file '.travis.sh'
--- .travis.sh 1970-01-01 00:00:00 +0000
+++ .travis.sh 2016-01-10 19:03:21 +0000
@@ -0,0 +1,49 @@
+set -ex
+
+# NOCOM(#sirver): remove
+echo "CXX: $CXX"
+echo "CLANG_VERSION: $CLANG_VERSION"
+echo "GCC_VERSION: $GCC_VERSION"
+
+# Some of these commands fail transiently. We keep retrying them until they
+# succeed.
+if [ "$CXX" = "g++" ]; then
+ until sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y; do sleep 10; done
+fi
+if [ "$CXX" = "clang++" ]; then
+ until sudo add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-$CLANG_VERSION main"; do sleep 10; done;
+ wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
+fi
+until sudo add-apt-repository ppa:zoogie/sdl2-snapshots -y; do sleep 10; done
+until sudo apt-get update -qq; do sleep 10; done
+
+if [ "$CXX" = "g++" ]; then
+ sudo apt-get install -qq g++-$GCC_VERSION;
+ export CXX="g++-$GCC_VERSION" CC="gcc-$GCC_VERSION";
+fi
+if [ "$CXX" = "clang++" ]; then
+ sudo apt-get install -qq clang-$CLANG_VERSION;
+ export CXX="clang++-$CLANG_VERSION" CC="clang-$CLANG_VERSION";
+fi
+
+until sudo apt-get install -qq \
+ cmake \
+ libboost-all-dev \
+ libglew-dev \
+ libicu-dev \
+ libpng-dev \
+ libxml2-dev \
+ libyajl-dev \
+ zlib1g-dev \
+ libsdl2-dev \
+ libsdl2-image-dev \
+ libsdl2-mixer-dev \
+ libsdl2-net-dev \
+ libsdl2-ttf-dev \
+; do sleep 10; done
+
+# Start the actual build.
+mkdir build
+cd build
+cmake .. -DCMAKE_BUILD_TYPE:STRING="$BUILD_TYPE"
+make -j1
=== modified file '.travis.yml'
--- .travis.yml 2015-12-28 16:06:10 +0000
+++ .travis.yml 2016-01-10 19:03:21 +0000
@@ -1,47 +1,39 @@
language: cpp
+script: bash -e .travis.sh
sudo: required
dist: trusty
-# TODO(sirver): figure out how to install a modern clang
matrix:
include:
- - compiler: gcc
- env: GCC_VERSION="4.7" BUILD_TYPE="Debug"
- - compiler: gcc
- env: GCC_VERSION="4.8" BUILD_TYPE="Debug"
- - compiler: gcc
- env: GCC_VERSION="4.9" BUILD_TYPE="Debug"
- - compiler: gcc
- env: GCC_VERSION="5" BUILD_TYPE="Debug"
- - compiler: gcc
- env: GCC_VERSION="4.7" BUILD_TYPE="Release"
- - compiler: gcc
- env: GCC_VERSION="4.8" BUILD_TYPE="Release"
- - compiler: gcc
- env: GCC_VERSION="4.9" BUILD_TYPE="Release"
- - compiler: gcc
- env: GCC_VERSION="5" BUILD_TYPE="Release"
-
-install:
- # Some of these commands fail transiently. We keep retrying them until they succeed.
- - until sudo add-apt-repository ppa:zoogie/sdl2-snapshots -y; do sleep 10; done
- - until sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y; do sleep 10; done
- - until sudo apt-get update -qq; do sleep 10; done
- - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-$GCC_VERSION; fi
- - until sudo apt-get install -qq cmake libboost-all-dev libglew-dev libicu-dev libpng-dev libxml2-dev libyajl-dev zlib1g-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev ; do sleep 10; done
- - if [ "$CXX" = "g++" ]; then export CXX="g++-$GCC_VERSION" CC="gcc-$GCC_VERSION"; fi
-
-script:
- - mkdir build
- - cd build
- - cmake .. -DCMAKE_BUILD_TYPE:STRING="$BUILD_TYPE"
- - make -j1
-
-# TODO(sirver): This will be useful in the future.
-# notifications:
-# email:
-# recipients:
-# - one@xxxxxxxxxxx
-# - other@xxxxxxxxxxx
-# on_success: [always|never|change] # default: change
-# on_failure: [always|never|change] # default: always
+ - compiler: clang
+ env: CLANG_VERSION="3.4" BUILD_TYPE="Debug"
+ - compiler: clang
+ env: CLANG_VERSION="3.5" BUILD_TYPE="Debug"
+ - compiler: clang
+ env: CLANG_VERSION="3.6" BUILD_TYPE="Debug"
+ - compiler: clang
+ env: CLANG_VERSION="3.7" BUILD_TYPE="Debug"
+ - compiler: clang
+ env: CLANG_VERSION="3.4" BUILD_TYPE="Release"
+ - compiler: clang
+ env: CLANG_VERSION="3.5" BUILD_TYPE="Release"
+ - compiler: clang
+ env: CLANG_VERSION="3.6" BUILD_TYPE="Release"
+ - compiler: clang
+ env: CLANG_VERSION="3.7" BUILD_TYPE="Release"
+ - compiler: gcc
+ env: GCC_VERSION="4.7" BUILD_TYPE="Debug"
+ - compiler: gcc
+ env: GCC_VERSION="4.8" BUILD_TYPE="Debug"
+ - compiler: gcc
+ env: GCC_VERSION="4.9" BUILD_TYPE="Debug"
+ - compiler: gcc
+ env: GCC_VERSION="5" BUILD_TYPE="Debug"
+ - compiler: gcc
+ env: GCC_VERSION="4.7" BUILD_TYPE="Release"
+ - compiler: gcc
+ env: GCC_VERSION="4.8" BUILD_TYPE="Release"
+ - compiler: gcc
+ env: GCC_VERSION="4.9" BUILD_TYPE="Release"
+ - compiler: gcc
+ env: GCC_VERSION="5" BUILD_TYPE="Release"
Follow ups