|
|
@@ -24,9 +24,14 @@
|
|
|
|
|
|
language: cpp
|
|
|
compiler: gcc
|
|
|
-cache: ccache
|
|
|
+cache:
|
|
|
+ ccache: true
|
|
|
+ directories:
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+dist: trusty
|
|
|
sudo: false
|
|
|
-addons: {apt: {sources: &default_sources [george-edison55-precise-backports, kubuntu-backports], packages: &default_packages [cmake, doxygen, graphviz]}}
|
|
|
+addons: {apt: {packages: &default_packages [doxygen, graphviz]}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
|
@@ -43,18 +48,19 @@ matrix:
|
|
|
- compiler: gcc
|
|
|
include:
|
|
|
- &Linux-64bit
|
|
|
- addons: {apt: {sources: [*default_sources, ubuntu-toolchain-r-test], packages: [g++-4.9, &linux_packages [*default_packages, libpulse-dev, rpm]]}}
|
|
|
+ addons: {apt: {packages: &linux_packages [*default_packages, libpulse-dev, rpm]}}
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_UPDATE_SOURCE_TREE=1 SF_DEFAULT=linux:Linux-64bit-STATIC.tar.gz
|
|
|
- - &Linux-64bit-shared
|
|
|
- addons: {apt: {sources: *default_sources, packages: *linux_packages}}
|
|
|
+ - <<: *Linux-64bit
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=SHARED
|
|
|
- - <<: *Linux-64bit-shared
|
|
|
+ - &Linux-64bit-clang
|
|
|
+ <<: *Linux-64bit
|
|
|
compiler: clang
|
|
|
+ addons: {apt: {packages: *linux_packages}}
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=STATIC
|
|
|
- - <<: *Linux-64bit-shared
|
|
|
- compiler: clang
|
|
|
+ - <<: *Linux-64bit-clang
|
|
|
+ env: LINUX=1 URHO3D_LIB_TYPE=SHARED
|
|
|
- &Linux-32bit
|
|
|
- addons: {apt: {sources: *default_sources, packages: [*linux_packages, g++-multilib, "libxrandr-dev:i386", "libglapi-mesa:i386", "libgl1-mesa-glx:i386", "libgl1-mesa-dev:i386", "libxext-dev:i386", "libxrender-dev:i386", lib32readline6-dev]}}
|
|
|
+ addons: {apt: {packages: [*linux_packages, g++-multilib, "libxrandr-dev:i386", "libglapi-mesa:i386", "libgl1-mesa-glx:i386", "libgl1-mesa-dev:i386", "libxext-dev:i386", "libxrender-dev:i386", lib32readline6-dev]}}
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
|
- &Linux-32bit-shared
|
|
|
<<: *Linux-32bit
|
|
|
@@ -64,58 +70,47 @@ matrix:
|
|
|
- <<: *Linux-32bit-shared
|
|
|
compiler: clang
|
|
|
- &MinGW-64bit
|
|
|
- compiler: x86_64-w64-mingw32-gcc
|
|
|
- addons: {apt: {sources: *default_sources, packages: [*default_packages, gcc-mingw-w64-x86-64, g++-mingw-w64-x86-64, binutils-mingw-w64-x86-64]}}
|
|
|
+ compiler: mingw-w64-x86_64
|
|
|
+ addons: {apt: {packages: [*default_packages, gcc-mingw-w64-x86-64, g++-mingw-w64-x86-64, binutils-mingw-w64-x86-64]}}
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=STATIC
|
|
|
- <<: *MinGW-64bit
|
|
|
- compiler: x86_64-w64-mingw32-gcc
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=SHARED
|
|
|
- <<: *MinGW-64bit
|
|
|
- compiler: x86_64-w64-mingw32-gcc
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0
|
|
|
- <<: *MinGW-64bit
|
|
|
- compiler: x86_64-w64-mingw32-gcc
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0
|
|
|
- # Ubuntu 12.04 LTS does not have up-to-date D3D11 headers, disable the CI build jobs for D3D11 for now until Travis-CI upgrades their OS to 14.04 LTS or better (We may not need these anymore because now we already have CI jobs on AppVeyor to cover the D3D11 build)
|
|
|
- # <<: *MinGW-64bit
|
|
|
- # compiler: x86_64-w64-mingw32-gcc
|
|
|
- # env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_D3D11=1
|
|
|
- # <<: *MinGW-64bit
|
|
|
- # compiler: x86_64-w64-mingw32-gcc
|
|
|
- # env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_D3D11=1
|
|
|
- &MinGW-32bit
|
|
|
- compiler: i686-w64-mingw32-gcc
|
|
|
- addons: {apt: {sources: *default_sources, packages: [*default_packages, gcc-mingw-w64-i686, g++-mingw-w64-i686, binutils-mingw-w64-i686]}}
|
|
|
+ compiler: mingw-w64-i686
|
|
|
+ addons: {apt: {packages: [*default_packages, gcc-mingw-w64-i686, g++-mingw-w64-i686, binutils-mingw-w64-i686]}}
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
|
- <<: *MinGW-32bit
|
|
|
- compiler: i686-w64-mingw32-gcc
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
|
- <<: *MinGW-32bit
|
|
|
- compiler: i686-w64-mingw32-gcc
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
- <<: *MinGW-32bit
|
|
|
- compiler: i686-w64-mingw32-gcc
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
- # <<: *MinGW-32bit
|
|
|
- # compiler: i686-w64-mingw32-gcc
|
|
|
- # env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_D3D11=1
|
|
|
- # <<: *MinGW-32bit
|
|
|
- # compiler: i686-w64-mingw32-gcc
|
|
|
- # env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_D3D11=1
|
|
|
before_script:
|
|
|
- rake ci_timer
|
|
|
+ # Upgrade CMake using tarball from its vendor and cache the installation
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
+ # Rely on git directly to detect the commit message and the release tag instead of using the corresponding Travis's environment variable because we may be querying for different commit SHA
|
|
|
- if [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT); fi
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
# Travis-CI has a special case handling for release tag where it checks out directly from the tag branch instead of the default 'master' branch
|
|
|
- if [[ $RELEASE_TAG ]] || ([[ "$TRAVIS_BRANCH" == "master" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]); then if [[ ${TRAVIS_JOB_NUMBER##*.} == 1 ]]; then export SITE_UPDATE=1; fi; if [[ "$CC" == "gcc" ]] && ([[ $RELEASE_TAG ]] || echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi; fi
|
|
|
- - if [[ $LINUX ]]; then if [[ "$URHO3D_64BIT" == "0" ]]; then export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu; else export DISPLAY=:99.0; bash -e /etc/init.d/xvfb start; fi; fi
|
|
|
- - if [[ $WIN32 ]]; then if [[ "$URHO3D_64BIT" == "0" ]]; then export ARCH=i686; else export ARCH=x86_64; fi && export MINGW_PREFIX=/usr/bin/${ARCH}-w64-mingw32; fi
|
|
|
- # MinGW package on Ubuntu 12.04 LTS does not come with d3dcompiler.h file which is required by our CI build with URHO3D_OPENGL=0.
|
|
|
- # Temporarily workaround the problem by downloading the missing header from Ubuntu 14.04 LTS source package.
|
|
|
- - if [[ $URHO3D_OPENGL ]]; then mkdir -p ../Build/{,generated/{UsingBuildTree,UsingSDK}/}include/Urho3D/ThirdParty && wget -P ../Build/include/Urho3D/ThirdParty https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/mingw-w64/trusty/download/package-import%40ubuntu.com-20130624192537-vzn12bb7qd5w3iy8/d3dcompiler.h-20120402093420-bk10a737hzitlkgj-65/d3dcompiler.h && for d in UsingBuildTree UsingSDK; do bash -c "cd ../Build/generated/$d/include/Urho3D/ThirdParty && ln -s ../../../../../include/Urho3D/ThirdParty/d3dcompiler.h ."; done; fi
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
- - if [[ $URHO3D_BINDINGS ]]; then git clone --depth 1 https://github.com/urho3d/fastcomp-clang.git && export LLVM_CLANG_ROOT=$(pwd)/fastcomp-clang && export CXX=g++-4.9 CC=gcc-4.9 && for compiler in gcc g++; do ln -s $(which ccache) $HOME/$compiler-4.9; done && export PATH=$HOME:$PATH; fi
|
|
|
- # For some reason clang compiler toolchain installation in Travis CI VM does not have symlink in the ccache symlinks directory, so workaround it
|
|
|
+ - if [[ $LINUX ]]; then
|
|
|
+ if [[ "$URHO3D_64BIT" == "0" ]]; then
|
|
|
+ export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu;
|
|
|
+ elif [[ ! $PACKAGE_UPLOAD ]]; then
|
|
|
+ export DISPLAY=:99.0; bash -e /etc/init.d/xvfb start;
|
|
|
+ fi;
|
|
|
+ elif [[ $WIN32 ]]; then
|
|
|
+ if [[ "$URHO3D_64BIT" == "0" ]]; then export ARCH=i686; else export ARCH=x86_64; fi;
|
|
|
+ export MINGW_PREFIX=/usr/bin/${ARCH}-w64-mingw32 DIRECTX_LIB_SEARCH_PATHS=/usr/${ARCH}-w64-mingw32/lib;
|
|
|
+ fi
|
|
|
+ - if [[ $URHO3D_BINDINGS ]]; then git clone --depth 1 https://github.com/urho3d/fastcomp-clang.git && export LLVM_CLANG_ROOT=$(pwd)/fastcomp-clang; fi
|
|
|
+ # For some reason clang compiler toolchain installation in Ubuntu does not have symlink in the ccache symlinks directory, so workaround it
|
|
|
- if [[ "$CC" == "clang" ]]; then ln -s $(which ccache) $HOME/clang && ln -s $(which ccache) $HOME/clang++ && export PATH=$HOME:$PATH; fi
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $SITE_UPDATE ]]; then rake ci_site_update; fi && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload && if [[ $LINUX ]] && [[ ! "$URHO3D_64BIT" == "0" ]]; then rake ci_package_upload URHO3D_USE_LIB64_RPM=1; fi; fi && rake ci_timer
|
|
|
@@ -157,6 +152,7 @@ environment:
|
|
|
# We cannot afford to have a large matrix on AppVeyor at the moment
|
|
|
URHO3D_D3D11: 1
|
|
|
MINGW: 1
|
|
|
+ # MinGW-w64 on Windows is NOT multilib capable but we are installing the ones that support C++14 standard
|
|
|
x86_64-posix-seh: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/6.3.0/threads-posix/seh/x86_64-6.3.0-release-posix-seh-rt_v5-rev1.7z
|
|
|
i686-posix-dwarf: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/6.3.0/threads-posix/dwarf/i686-6.3.0-release-posix-dwarf-rt_v5-rev1.7z
|
|
|
matrix:
|
|
|
@@ -192,15 +188,19 @@ deploy: off
|
|
|
|
|
|
---
|
|
|
|
|
|
-branch: {name: Coverity-Scan, active: no, mandatory: yes}
|
|
|
+branch: {name: Coverity-Scan, active: no}
|
|
|
language: cpp
|
|
|
compiler: gcc
|
|
|
-cache: ccache
|
|
|
+cache:
|
|
|
+ ccache: true
|
|
|
+ directories:
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+dist: trusty
|
|
|
sudo: false
|
|
|
addons:
|
|
|
apt:
|
|
|
- sources: [george-edison55-precise-backports, kubuntu-backports]
|
|
|
- packages: [cmake, libpulse-dev]
|
|
|
+ packages: libpulse-dev
|
|
|
coverity_scan:
|
|
|
project:
|
|
|
name: urho3d/Urho3D
|
|
|
@@ -219,9 +219,10 @@ env:
|
|
|
- CCACHE_COMPRESS=1
|
|
|
- CCACHE_MAXSIZE=100M
|
|
|
before_script:
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
- rake ci_setup_cache
|
|
|
script: true
|
|
|
after_script: rake ci_teardown_cache
|
|
|
@@ -231,9 +232,12 @@ after_script: rake ci_teardown_cache
|
|
|
branch: {name: Annotate, active: no}
|
|
|
language: cpp
|
|
|
compiler: gcc
|
|
|
-cache: ccache
|
|
|
-sudo: false
|
|
|
-addons: {apt: {sources: [kubuntu-backports, ubuntu-toolchain-r-test], packages: [cmake, g++-4.9, libpulse-dev]}}
|
|
|
+cache:
|
|
|
+ ccache: true
|
|
|
+ directories:
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+addons: {apt: {packages: libpulse-dev}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
|
@@ -243,12 +247,11 @@ env:
|
|
|
- CCACHE_COMPRESS=1
|
|
|
- CCACHE_MAXSIZE=100M
|
|
|
before_script:
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- git clone --depth 1 https://github.com/urho3d/fastcomp-clang.git && export LLVM_CLANG_ROOT=$(pwd)/fastcomp-clang
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
- - export CXX=g++-4.9 CC=gcc-4.9
|
|
|
- - for compiler in gcc g++; do ln -s $(which ccache) $HOME/$compiler-4.9; done && export PATH=$HOME:$PATH
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci_annotate
|
|
|
after_script: rake ci_teardown_cache
|
|
|
@@ -257,11 +260,14 @@ after_script: rake ci_teardown_cache
|
|
|
|
|
|
branch: {name: Android-CI, active: yes}
|
|
|
language: android
|
|
|
-cache: {directories: $HOME/.ccache}
|
|
|
-android: {components: [build-tools-22.0.1]}
|
|
|
-jdk: oraclejdk8
|
|
|
+cache:
|
|
|
+ directories:
|
|
|
+ - $HOME/.ccache
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+dist: trusty
|
|
|
sudo: false
|
|
|
-addons: {apt: {sources: &default_sources [george-edison55-precise-backports, kubuntu-backports], packages: &default_packages [cmake, doxygen, graphviz, g++-multilib]}}
|
|
|
+addons: {apt: {packages: &default_packages [doxygen, graphviz, g++-multilib]}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
|
@@ -273,32 +279,33 @@ env:
|
|
|
- CCACHE_SLOPPINESS=pch_defines,time_macros
|
|
|
- CCACHE_COMPRESS=1
|
|
|
- CCACHE_MAXSIZE=100M
|
|
|
+ # Temporarily disable the test to build the APK as Travis-CI beta Trusty VM has not yet setup the environment for Android properly
|
|
|
+ - NO_SDK_SYSIMG=1
|
|
|
matrix:
|
|
|
# x86 and x86_64 emulation currently requires hardware acceleration which Travis-CI cannot provide, so skip testing using AVD for now
|
|
|
- ANDROID_ABI=x86_64 ANDROID_TOOLCHAIN_NAME=x86_64-clang URHO3D_LIB_TYPE=STATIC INSTALL=sys-img-x86_64-android-21 # Using default native API level android-21
|
|
|
- ANDROID_ABI=x86_64 ANDROID_TOOLCHAIN_NAME=x86_64-clang URHO3D_LIB_TYPE=SHARED INSTALL=sys-img-x86_64-android-21
|
|
|
- - ANDROID_ABI=x86 ANDROID_TOOLCHAIN_NAME=x86-clang URHO3D_LIB_TYPE=STATIC INSTALL=sys-img-x86-android-21 ANDROID_NATIVE_API_LEVEL=android-21 # android-9 is the default but at least android-12 is needed when LuaJIT is enabled
|
|
|
+ - ANDROID_ABI=x86 ANDROID_TOOLCHAIN_NAME=x86-clang URHO3D_LIB_TYPE=STATIC INSTALL=sys-img-x86-android-21 ANDROID_NATIVE_API_LEVEL=android-21 # At least android-12 is needed when LuaJIT is enabled
|
|
|
- ANDROID_ABI=x86 ANDROID_TOOLCHAIN_NAME=x86-clang URHO3D_LIB_TYPE=SHARED INSTALL=sys-img-x86-android-21 ANDROID_NATIVE_API_LEVEL=android-21
|
|
|
- - ANDROID_ABI=armeabi-v7a ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang URHO3D_LIB_TYPE=STATIC # Using default native API Level android-9
|
|
|
- - ANDROID_ABI=armeabi-v7a ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang URHO3D_LIB_TYPE=SHARED AVD=21
|
|
|
+ # ANDROID_ANDROID_ABI=arm64-v8a uses NEON by default, so the following two CI jobs also test NEON code path in the build
|
|
|
+ - ANDROID_ABI=arm64-v8a ANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang URHO3D_LIB_TYPE=STATIC NO_SDK_SYSIMG=1 # Using default native API level android-21
|
|
|
+ - ANDROID_ABI=arm64-v8a ANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang URHO3D_LIB_TYPE=SHARED NO_SDK_SYSIMG=1
|
|
|
+ - ANDROID_ABI=armeabi-v7a ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang URHO3D_LIB_TYPE=STATIC # Using default native API Level android-9
|
|
|
+ - ANDROID_ABI=armeabi-v7a ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang URHO3D_LIB_TYPE=SHARED # AVD=21 Temporarily disable the test to build and deploy the APK
|
|
|
matrix:
|
|
|
fast_finish: true
|
|
|
- include:
|
|
|
- # ANDROID_ANDROID_ABI=arm64-v8a uses NEON by default, so the following two CI jobs also test NEON code path in the build
|
|
|
- - addons: &newer_gcc {apt: {sources: [*default_sources, ubuntu-toolchain-r-test], packages: [*default_packages, g++-4.9]}}
|
|
|
- env: ANDROID_ABI=arm64-v8a ANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang URHO3D_LIB_TYPE=STATIC NO_SDK_SYSIMG=1 # Using default native API level android-21
|
|
|
- - addons: {<<: *newer_gcc}
|
|
|
- env: ANDROID_ABI=arm64-v8a ANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang URHO3D_LIB_TYPE=SHARED NO_SDK_SYSIMG=1
|
|
|
before_script:
|
|
|
- rake ci_timer
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n1 $TRAVIS_COMMIT)
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- if [[ $RELEASE_TAG ]] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi
|
|
|
- git clone --depth 1 --branch strip https://github.com/urho3d/android-ndk.git && export ANDROID_NDK=$(pwd)/android-ndk && if ([[ $AVD ]] || [[ $PACKAGE_UPLOAD ]]) && [[ $INSTALL ]]; then (while :; do echo 'y'; sleep 1; done) |android update sdk --no-ui --all --filter $INSTALL; fi
|
|
|
- - if [[ "$ANDROID_ABI" == "arm64-v8a" ]]; then export PATH=$HOME:$PATH CXX=g++-4.9 CC=gcc-4.9 && for compiler in gcc g++; do ln -s $(which ccache) $HOME/$compiler-4.9; done; fi
|
|
|
- export C_PATH=$(pwd)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$C_PATH:$PATH; for f in $C_PATH/{clang,clang++}; do touch -d "2015-01-01 00:00:00 +0800" $f; done
|
|
|
+ - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$C_PATH:$PATH
|
|
|
+ - for compiler in $C_PATH/{clang,clang++}; do touch -d "2017-01-01 00:00:00 +0800" $compiler; done
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
|
@@ -308,9 +315,14 @@ after_script: rake ci_teardown_cache
|
|
|
branch: {name: RPI-CI, active: yes}
|
|
|
language: cpp
|
|
|
compiler: gcc
|
|
|
-cache: ccache
|
|
|
+cache:
|
|
|
+ ccache: true
|
|
|
+ directories:
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+dist: trusty
|
|
|
sudo: false
|
|
|
-addons: {apt: {sources: &default_sources [george-edison55-precise-backports, kubuntu-backports], packages: &default_packages [cmake, doxygen, graphviz, g++-multilib, rpm]}}
|
|
|
+addons: {apt: {packages: [doxygen, graphviz, g++-multilib, rpm]}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
|
@@ -332,12 +344,14 @@ matrix:
|
|
|
fast_finish: true
|
|
|
before_script:
|
|
|
- rake ci_timer
|
|
|
- - git clone --depth 1 https://github.com/raspberrypi/tools.git rpi-tools && export RPI_PREFIX=$(pwd)/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf && git clone --depth 1 https://github.com/urho3d/rpi-sysroot.git && export RPI_SYSROOT=$(pwd)/rpi-sysroot && for f in $RPI_PREFIX-{gcc,g++}; do touch -d "2015-01-01 00:00:00 +0800" $f; done
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
+ - git clone --depth 1 https://github.com/raspberrypi/tools.git rpi-tools && export RPI_PREFIX=$(pwd)/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf && git clone --depth 1 https://github.com/urho3d/rpi-sysroot.git && export RPI_SYSROOT=$(pwd)/rpi-sysroot && for compiler in $RPI_PREFIX-{gcc,g++}; do touch -d "2017-01-01 00:00:00 +0800" $compiler; done
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- if [[ $RELEASE_TAG ]] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):${RPI_PREFIX%/*}:$PATH
|
|
|
+ - export PATH=${RPI_PREFIX%/*}:$PATH
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
|
@@ -347,9 +361,14 @@ after_script: rake ci_teardown_cache
|
|
|
branch: {name: ARM-CI, active: yes}
|
|
|
language: cpp
|
|
|
compiler: gcc
|
|
|
-cache: ccache
|
|
|
+cache:
|
|
|
+ ccache: true
|
|
|
+ directories:
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+dist: trusty
|
|
|
sudo: false
|
|
|
-addons: {apt: {sources: &default_sources [george-edison55-precise-backports, kubuntu-backports], packages: &default_packages [cmake, doxygen, graphviz, g++-multilib, rpm]}}
|
|
|
+addons: {apt: {packages: [doxygen, graphviz, g++-multilib, rpm]}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
|
@@ -364,25 +383,24 @@ env:
|
|
|
# ODROID-X2
|
|
|
- SYSROOT=armhf-sysroot URHO3D_LIB_TYPE=STATIC ARM_ABI_FLAGS='-mcpu=cortex-a9 -mfpu=neon-fp16'
|
|
|
- SYSROOT=armhf-sysroot URHO3D_LIB_TYPE=SHARED ARM_ABI_FLAGS='-mcpu=cortex-a9 -mfpu=neon-fp16'
|
|
|
+ # ODROID-C2
|
|
|
+ - SYSROOT=arm64-sysroot URHO3D_LIB_TYPE=STATIC ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
|
+ - SYSROOT=arm64-sysroot URHO3D_LIB_TYPE=SHARED ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
|
matrix:
|
|
|
fast_finish: true
|
|
|
- include:
|
|
|
- # ODROID-C2
|
|
|
- - addons: &newer_gcc {apt: {sources: [*default_sources, ubuntu-toolchain-r-test], packages: [*default_packages, g++-4.9]}}
|
|
|
- env: SYSROOT=arm64-sysroot URHO3D_LIB_TYPE=STATIC ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
|
- - addons: {<<: *newer_gcc}
|
|
|
- env: SYSROOT=arm64-sysroot URHO3D_LIB_TYPE=SHARED ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
|
before_script:
|
|
|
- rake ci_timer
|
|
|
- - if [[ $SYSROOT =~ arm64 ]]; then wget https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/gcc-linaro-5.4.1-2017.01-x86_64_aarch64-linux-gnu.tar.xz -O arm-tools.tar.xz && tar xf arm-tools.tar.xz && rm arm-tools.tar.xz && mv gcc-linaro* gcc-linaro && export ARM_PREFIX=$(pwd)/gcc-linaro/bin/aarch64-linux-gnu PATH=$HOME:$PATH CXX=g++-4.9 CC=gcc-4.9 && for compiler in gcc g++; do ln -s $(which ccache) $HOME/$compiler-4.9; done; fi
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
+ - if [[ $SYSROOT =~ arm64 ]]; then wget https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/gcc-linaro-5.4.1-2017.01-x86_64_aarch64-linux-gnu.tar.xz -O arm-tools.tar.xz && tar xf arm-tools.tar.xz && rm arm-tools.tar.xz && mv gcc-linaro* gcc-linaro && export ARM_PREFIX=$(pwd)/gcc-linaro/bin/aarch64-linux-gnu; fi
|
|
|
- if [[ $SYSROOT =~ armhf ]]; then wget https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabihf/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf.tar.xz -O arm-tools.tar.xz && tar xf arm-tools.tar.xz && rm arm-tools.tar.xz && mv gcc-linaro* gcc-linaro && export ARM_PREFIX=$(pwd)/gcc-linaro/bin/arm-linux-gnueabihf; fi
|
|
|
- - for f in $ARM_PREFIX-{gcc,g++}; do touch -d "2015-01-01 00:00:00 +0800" $f; done
|
|
|
+ - for compiler in $ARM_PREFIX-{gcc,g++}; do touch -d "2017-01-01 00:00:00 +0800" $compiler; done
|
|
|
- git clone --depth 1 https://github.com/urho3d/$SYSROOT.git && export ARM_SYSROOT=$(pwd)/$SYSROOT
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- if [[ $RELEASE_TAG ]] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):${ARM_PREFIX%/*}:$PATH
|
|
|
+ - export PATH=${ARM_PREFIX%/*}:$PATH
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload && if [[ "$SYSROOT" == "arm64-sysroot" ]]; then rake ci_package_upload URHO3D_USE_LIB64_RPM=1; fi; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
|
@@ -392,14 +410,19 @@ after_script: rake ci_teardown_cache
|
|
|
branch: {name: Web-CI, active: yes}
|
|
|
language: cpp
|
|
|
compiler: gcc
|
|
|
-cache: ccache
|
|
|
+cache:
|
|
|
+ ccache: true
|
|
|
+ directories:
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/bin
|
|
|
+ - $HOME/cmake-3.8.1-Linux-x86_64/share
|
|
|
+dist: trusty
|
|
|
sudo: false
|
|
|
-addons: {apt: {sources: [george-edison55-precise-backports, kubuntu-backports, ubuntu-toolchain-r-test], packages: [cmake, doxygen, graphviz, g++-4.9]}}
|
|
|
+addons: {apt: {packages: [doxygen, graphviz]}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
|
- - numjobs=1
|
|
|
+ - numjobs=2
|
|
|
- WEB=1
|
|
|
- EMSCRIPTEN_SHARE_DATA=1
|
|
|
- EMSCRIPTEN_SHARE_JS=1
|
|
|
@@ -418,13 +441,15 @@ matrix:
|
|
|
fast_finish: true
|
|
|
before_script:
|
|
|
- rake ci_timer
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.1-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
|
+ - export PATH=$HOME/cmake-3.8.1-Linux-x86_64/bin:$PATH
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- if [[ $RELEASE_TAG ]] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi
|
|
|
- if [[ $EMSCRIPTEN_WASM ]]; then export BINARYEN=binaryen-master-64bit; fi
|
|
|
- git clone --depth 1 --branch $BRANCH https://github.com/urho3d/emscripten-sdk.git && emscripten-sdk/emsdk activate --build=Release sdk-${BRANCH}-64bit $BINARYEN && source emscripten-sdk/emsdk_env.sh
|
|
|
- - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH; for f in $EMSCRIPTEN/{emcc,em++}; do touch -d "2015-09-01 00:00:00 +0800" $f; done
|
|
|
+ - for compiler in $EMSCRIPTEN/{emcc,em++}; do touch -d "2017-01-01 00:00:00 +0800" $compiler; done
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ "$TRAVIS_BRANCH" == "Web-CI" ]] && [[ ! $EMSCRIPTEN_WASM ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]] && [[ "$URHO3D_LIB_TYPE" == "SHARED" ]]; then rake ci_emscripten_samples_update; fi && if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
|
@@ -459,6 +484,7 @@ before_script:
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- if [[ $XCODE ]] && ([[ $RELEASE_TAG ]] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; fi
|
|
|
+ - brew update
|
|
|
- which cmake >/dev/null 2>&1 || cmake=cmake
|
|
|
- if [[ $PACKAGE_UPLOAD ]]; then doxygen='doxygen graphviz';
|
|
|
whitelist='brew-cask ccache cmake doxygen graphviz libpng libyaml md5deep openssl pkg-config readline';
|
|
|
@@ -467,6 +493,7 @@ before_script:
|
|
|
brew cleanup;
|
|
|
fi
|
|
|
- travis_retry brew install ccache $cmake $doxygen
|
|
|
+ - if [[ ! $cmake ]]; then brew outdated cmake || brew upgrade cmake; fi
|
|
|
- export PATH=$(brew info ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
- if [[ $XCODE ]]; then pushd $(dirname $(xcodebuild -find-executable clang)) && sudo cp -p $(which ccache) . && for compiler in clang clang++; do sudo mv $compiler{,.orig} && sudo ln -sf $(pwd)/clang.orig /usr/local/bin/$compiler && sudo ln -sf ccache $compiler; done && popd && if [[ $IOS ]]; then redundant=AppleTV,Watch; elif [[ $TVOS ]]; then redundant=iPhone,Watch; else redundant=iPhone,AppleTV,Watch; fi && eval sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/{$redundant}{OS,Simulator}.platform; if echo $COMMIT_MESSAGE |egrep -cq '\[(cache clear|xcode 64bit only)\]' || [[ $(ccache -s |grep 'files in cache' |rev |cut -d' ' -f1 |rev) == '0' ]]; then export XCODE_64BIT_ONLY=1; fi; fi
|
|
|
- rake ci_setup_cache
|