|
@@ -42,6 +42,37 @@ env:
|
|
|
- CCACHE_COMPRESS=1
|
|
- CCACHE_COMPRESS=1
|
|
|
- CCACHE_MAXSIZE=100M
|
|
- CCACHE_MAXSIZE=100M
|
|
|
- URHO3D_DEPLOYMENT_TARGET=generic
|
|
- URHO3D_DEPLOYMENT_TARGET=generic
|
|
|
|
|
+stage: build
|
|
|
|
|
+before_script:
|
|
|
|
|
+ - rake ci_timer
|
|
|
|
|
+ # Upgrade CMake using tarball from its vendor and cache the installation
|
|
|
|
|
+ - if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-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.2-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;
|
|
|
|
|
+ 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
|
|
|
|
|
+after_script:
|
|
|
|
|
+ - rake ci_teardown_cache
|
|
|
|
|
+ - if [[ ${TRAVIS_JOB_NUMBER##*.} == 1 ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then rake ci_create_mirrors; fi
|
|
|
|
|
+notifications: {email: {on_success: never, on_failure: change}}
|
|
|
|
|
+
|
|
|
# Below are our custom data to preset build stages for other documents in this YAML stream, we do this because YAML anchor cannot be referenced across document boundary
|
|
# Below are our custom data to preset build stages for other documents in this YAML stream, we do this because YAML anchor cannot be referenced across document boundary
|
|
|
data:
|
|
data:
|
|
|
stages:
|
|
stages:
|
|
@@ -52,8 +83,9 @@ data:
|
|
|
housekeep:
|
|
housekeep:
|
|
|
<<: *base
|
|
<<: *base
|
|
|
cache:
|
|
cache:
|
|
|
|
|
+ env:
|
|
|
script: rake ci_delete_mirror
|
|
script: rake ci_delete_mirror
|
|
|
-stage: build
|
|
|
|
|
|
|
+
|
|
|
matrix:
|
|
matrix:
|
|
|
fast_finish: true
|
|
fast_finish: true
|
|
|
exclude:
|
|
exclude:
|
|
@@ -101,39 +133,10 @@ matrix:
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
env: WIN32=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
- <<: *MinGW-32bit
|
|
- <<: *MinGW-32bit
|
|
|
env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
env: WIN32=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
-# TODO - if/when Travis-CI later supports conditional build stages then move the 'scan' and 'annotate' (potentially also the 'precache'/'package') stages here
|
|
|
|
|
|
|
+# TODO - if/when Travis-CI later supports conditional build stages then move the 'scan' and 'annotate' stages here
|
|
|
- stage: lint (to be implemented)
|
|
- stage: lint (to be implemented)
|
|
|
<<: *base
|
|
<<: *base
|
|
|
script: true # Using clang-tidy or something like that or using CMake/clang-tidy integration (see <LANG>_CLANG_TIDY CMake property)
|
|
script: true # Using clang-tidy or something like that or using CMake/clang-tidy integration (see <LANG>_CLANG_TIDY CMake property)
|
|
|
-before_script:
|
|
|
|
|
- - rake ci_timer
|
|
|
|
|
- # Upgrade CMake using tarball from its vendor and cache the installation
|
|
|
|
|
- - if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-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.2-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;
|
|
|
|
|
- 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
|
|
|
|
|
-after_script:
|
|
|
|
|
- - rake ci_teardown_cache
|
|
|
|
|
- - if [[ ${TRAVIS_JOB_NUMBER##*.} == 1 ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then rake ci_create_mirrors; fi
|
|
|
|
|
-notifications: {email: {on_success: never, on_failure: change}}
|
|
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
@@ -315,9 +318,6 @@ 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
|
|
- 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=arm64-v8a ANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang URHO3D_LIB_TYPE=SHARED NO_SDK_SYSIMG=1
|
|
|
stage: build
|
|
stage: build
|
|
|
-matrix:
|
|
|
|
|
- fast_finish: true
|
|
|
|
|
- include: [stage: housekeep]
|
|
|
|
|
before_script:
|
|
before_script:
|
|
|
# Temporarily disable the test to build the APK as Travis-CI Trusty beta VM has not yet setup the environment for Android properly
|
|
# Temporarily disable the test to build the APK as Travis-CI Trusty beta VM has not yet setup the environment for Android properly
|
|
|
- export NO_SDK_SYSIMG=1; unset AVD INSTALL
|
|
- export NO_SDK_SYSIMG=1; unset AVD INSTALL
|
|
@@ -335,6 +335,9 @@ before_script:
|
|
|
- rake ci_setup_cache
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
after_script: rake ci_teardown_cache
|
|
|
|
|
+matrix:
|
|
|
|
|
+ fast_finish: true
|
|
|
|
|
+ include: [stage: housekeep]
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
@@ -367,9 +370,6 @@ env:
|
|
|
- URHO3D_LIB_TYPE=STATIC RPI_ABI='armeabi-v7a with NEON'
|
|
- URHO3D_LIB_TYPE=STATIC RPI_ABI='armeabi-v7a with NEON'
|
|
|
- URHO3D_LIB_TYPE=SHARED RPI_ABI='armeabi-v7a with NEON'
|
|
- URHO3D_LIB_TYPE=SHARED RPI_ABI='armeabi-v7a with NEON'
|
|
|
stage: build
|
|
stage: build
|
|
|
-matrix:
|
|
|
|
|
- fast_finish: true
|
|
|
|
|
- include: [stage: housekeep]
|
|
|
|
|
before_script:
|
|
before_script:
|
|
|
- rake ci_timer
|
|
- rake ci_timer
|
|
|
- if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
- if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
@@ -383,6 +383,9 @@ before_script:
|
|
|
- rake ci_setup_cache
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
after_script: rake ci_teardown_cache
|
|
|
|
|
+matrix:
|
|
|
|
|
+ fast_finish: true
|
|
|
|
|
+ include: [stage: housekeep]
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
@@ -415,9 +418,6 @@ env:
|
|
|
- SYSROOT=arm64-sysroot URHO3D_LIB_TYPE=STATIC ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
- 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'
|
|
- SYSROOT=arm64-sysroot URHO3D_LIB_TYPE=SHARED ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
|
stage: build
|
|
stage: build
|
|
|
-matrix:
|
|
|
|
|
- fast_finish: true
|
|
|
|
|
- include: [stage: housekeep]
|
|
|
|
|
before_script:
|
|
before_script:
|
|
|
- rake ci_timer
|
|
- rake ci_timer
|
|
|
- if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
- if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
@@ -434,6 +434,9 @@ before_script:
|
|
|
- rake ci_setup_cache
|
|
- 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
|
|
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
|
|
after_script: rake ci_teardown_cache
|
|
|
|
|
+matrix:
|
|
|
|
|
+ fast_finish: true
|
|
|
|
|
+ include: [stage: housekeep]
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
@@ -467,9 +470,6 @@ env:
|
|
|
- URHO3D_LIB_TYPE=STATIC EMSCRIPTEN_WASM=1 BRANCH=incoming
|
|
- URHO3D_LIB_TYPE=STATIC EMSCRIPTEN_WASM=1 BRANCH=incoming
|
|
|
- URHO3D_LIB_TYPE=SHARED EMSCRIPTEN_WASM=1 BRANCH=incoming
|
|
- URHO3D_LIB_TYPE=SHARED EMSCRIPTEN_WASM=1 BRANCH=incoming
|
|
|
stage: build
|
|
stage: build
|
|
|
-matrix:
|
|
|
|
|
- fast_finish: true
|
|
|
|
|
- include: [stage: housekeep]
|
|
|
|
|
before_script:
|
|
before_script:
|
|
|
- rake ci_timer
|
|
- rake ci_timer
|
|
|
- if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
- if [[ ! -f $HOME/cmake-3.8.2-Linux-x86_64/bin/cmake ]]; then wget --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz -O $HOME/cmake.tar.gz && tar xf $HOME/cmake.tar.gz -C $HOME && rm $HOME/cmake.tar.gz; fi
|
|
@@ -484,6 +484,9 @@ before_script:
|
|
|
- rake ci_setup_cache
|
|
- 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
|
|
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
|
|
after_script: rake ci_teardown_cache
|
|
|
|
|
+matrix:
|
|
|
|
|
+ fast_finish: true
|
|
|
|
|
+ include: [stage: housekeep]
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
@@ -502,37 +505,49 @@ env:
|
|
|
- CCACHE_COMPRESS=1
|
|
- CCACHE_COMPRESS=1
|
|
|
- CCACHE_MAXSIZE=300M
|
|
- CCACHE_MAXSIZE=300M
|
|
|
matrix:
|
|
matrix:
|
|
|
- - XCODE=1 TVOS=1 URHO3D_LIB_TYPE=STATIC APPLETVOS_DEPLOYMENT_TARGET=10.2 sdk=appletvsimulator
|
|
|
|
|
- - XCODE=1 IOS=1 URHO3D_LIB_TYPE=STATIC IPHONEOS_DEPLOYMENT_TARGET=10.3 sdk=iphonesimulator
|
|
|
|
|
- - XCODE=1 URHO3D_LIB_TYPE=STATIC CMAKE_OSX_DEPLOYMENT_TARGET=10.12 SF_DEFAULT=mac:OSX-64bit-STATIC.tar.gz
|
|
|
|
|
- - XCODE=1 URHO3D_LIB_TYPE=SHARED CMAKE_OSX_DEPLOYMENT_TARGET=10.12
|
|
|
|
|
- - MAKEFILE=1 URHO3D_LIB_TYPE=STATIC URHO3D_DEPLOYMENT_TARGET=generic
|
|
|
|
|
- - MAKEFILE=1 URHO3D_LIB_TYPE=SHARED URHO3D_DEPLOYMENT_TARGET=generic
|
|
|
|
|
|
|
+ - &tvOS XCODE=1 TVOS=1 URHO3D_LIB_TYPE=STATIC APPLETVOS_DEPLOYMENT_TARGET=10.2 sdk=appletvsimulator
|
|
|
|
|
+ - &iOS XCODE=1 IOS=1 URHO3D_LIB_TYPE=STATIC IPHONEOS_DEPLOYMENT_TARGET=10.3 sdk=iphonesimulator
|
|
|
|
|
+ - &macOS-STATIC XCODE=1 URHO3D_LIB_TYPE=STATIC CMAKE_OSX_DEPLOYMENT_TARGET=10.12 SF_DEFAULT=mac:OSX-64bit-STATIC.tar.gz
|
|
|
|
|
+ - &macOS-SHARED XCODE=1 URHO3D_LIB_TYPE=SHARED CMAKE_OSX_DEPLOYMENT_TARGET=10.12
|
|
|
|
|
+ - MAKEFILE=1 URHO3D_LIB_TYPE=STATIC URHO3D_DEPLOYMENT_TARGET=generic
|
|
|
|
|
+ - MAKEFILE=1 URHO3D_LIB_TYPE=SHARED URHO3D_DEPLOYMENT_TARGET=generic
|
|
|
stage: build
|
|
stage: build
|
|
|
-matrix:
|
|
|
|
|
- fast_finish: true
|
|
|
|
|
- include: [stage: housekeep]
|
|
|
|
|
-before_script:
|
|
|
|
|
|
|
+before_script: &before_script
|
|
|
- rake ci_timer
|
|
- rake ci_timer
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $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
|
|
- 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
|
|
- brew update
|
|
|
- which cmake >/dev/null 2>&1 || cmake=cmake
|
|
- 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';
|
|
|
|
|
- for f in $(brew list); do [[ $whitelist =~ $f ]] || brew uninstall --force $f; done &&
|
|
|
|
|
- for f in $(brew cask list |grep -v Uninstalling); do [[ $whitelist =~ $f ]] || brew cask uninstall --force $f; done &&
|
|
|
|
|
- brew cleanup;
|
|
|
|
|
- fi
|
|
|
|
|
- - travis_retry brew install ccache $cmake $doxygen
|
|
|
|
|
|
|
+ - travis_retry brew install ccache $cmake
|
|
|
- if [[ ! $cmake ]]; then brew outdated cmake || brew upgrade cmake; fi
|
|
- if [[ ! $cmake ]]; then brew outdated cmake || brew upgrade cmake; fi
|
|
|
- export PATH=$(brew info ccache |grep -o '\S*lib\S*'):$PATH
|
|
- 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
|
|
- 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
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|
|
after_script: rake ci_teardown_cache
|
|
|
|
|
+matrix:
|
|
|
|
|
+ fast_finish: true
|
|
|
|
|
+ include:
|
|
|
|
|
+ - &package-stage
|
|
|
|
|
+ stage: package
|
|
|
|
|
+ condition: PACKAGE_UPLOAD
|
|
|
|
|
+ env: *tvOS
|
|
|
|
|
+ before_script:
|
|
|
|
|
+ - *before_script
|
|
|
|
|
+ - export PACKAGE_UPLOAD=1
|
|
|
|
|
+ - whitelist='brew-cask ccache cmake doxygen graphviz libpng libyaml md5deep openssl pkg-config readline'
|
|
|
|
|
+ - for f in $(brew list); do [[ $whitelist =~ $f ]] || brew uninstall --force $f; done
|
|
|
|
|
+ - for f in $(brew cask list |grep -v Uninstalling); do [[ $whitelist =~ $f ]] || brew cask uninstall --force $f; done
|
|
|
|
|
+ - travis_retry brew cleanup
|
|
|
|
|
+ - travis_retry brew install doxygen graphviz
|
|
|
|
|
+ - <<: *package-stage
|
|
|
|
|
+ env: *iOS
|
|
|
|
|
+ - <<: *package-stage
|
|
|
|
|
+ env: *macOS-STATIC
|
|
|
|
|
+ - <<: *package-stage
|
|
|
|
|
+ env: *macOS-SHARED
|
|
|
|
|
+ - stage: housekeep
|
|
|
|
|
|
|
|
# Below samples are excluded from Xcode/OSX build due to build time constraint
|
|
# Below samples are excluded from Xcode/OSX build due to build time constraint
|
|
|
data:
|
|
data:
|