407 lines
20 KiB
YAML
407 lines
20 KiB
YAML
#
|
|
# Copyright (c) 2008-2020 the Urho3D project.
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
# THE SOFTWARE.
|
|
#
|
|
|
|
---
|
|
|
|
dist: trusty
|
|
addons: {apt: {packages: [docker-ce]}}
|
|
cache: {directories: [$HOME/urho3d_home_dir/.ccache]}
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
- numjobs=4
|
|
- URHO3D_DEPLOYMENT_TARGET=generic
|
|
matrix:
|
|
# Linux native 64-bit
|
|
- LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_UPDATE_SOURCE_TREE=1 SF_DEFAULT=linux:Linux-64bit-STATIC.tar.gz # GCC
|
|
- LINUX=1 URHO3D_LIB_TYPE=SHARED
|
|
- LINUX=1 URHO3D_LIB_TYPE=STATIC CC=clang CXX=clang++ # Clang
|
|
- LINUX=1 URHO3D_LIB_TYPE=SHARED CC=clang CXX=clang++
|
|
- LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_SSL=1
|
|
- LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_SSL=1
|
|
- LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_SSL=1 URHO3D_SSL_DYNAMIC=1
|
|
- LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_SSL=1 URHO3D_SSL_DYNAMIC=1
|
|
# Linux native 32-bit
|
|
- LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
- LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
- LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 CC=clang CXX=clang++
|
|
- LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 CC=clang CXX=clang++
|
|
# MinGW cross-compiling 64-bit
|
|
- MINGW=1 URHO3D_LIB_TYPE=STATIC # OpenGL
|
|
- MINGW=1 URHO3D_LIB_TYPE=SHARED
|
|
- MINGW=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0 # D3D9
|
|
- MINGW=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0
|
|
- MINGW=1 URHO3D_LIB_TYPE=STATIC URHO3D_D3D11=1 # D3D11
|
|
- MINGW=1 URHO3D_LIB_TYPE=SHARED URHO3D_D3D11=1
|
|
# MinGW cross-compiling 32-bit
|
|
- MINGW=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
- MINGW=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
- MINGW=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0 URHO3D_64BIT=0
|
|
- MINGW=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0 URHO3D_64BIT=0
|
|
- MINGW=1 URHO3D_LIB_TYPE=STATIC URHO3D_D3D11=1 URHO3D_64BIT=0
|
|
- MINGW=1 URHO3D_LIB_TYPE=SHARED URHO3D_D3D11=1 URHO3D_64BIT=0
|
|
stage: release build configuration
|
|
before_script:
|
|
- rake ci_timer
|
|
# 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 ]] && [[ ! $CMAKE_BUILD_TYPE ]] && ([[ $RELEASE_TAG ]] || echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi; fi
|
|
- if [[ $URHO3D_BINDINGS ]]; then git clone --depth 1 https://github.com/urho3d/llvm-clang.git && export LLVM_CLANG_ROOT=$(pwd)/llvm-clang; fi
|
|
- if [[ $LINUX ]]; then export PLATFORM=native; else export PLATFORM=mingw; fi
|
|
- rake ci_setup_cache
|
|
script: script/dockerized.sh $PLATFORM rake ci && if [[ $SITE_UPDATE ]]; then script/dockerized.sh $PLATFORM rake ci_site_update; fi && if [[ $PACKAGE_UPLOAD ]]; then script/dockerized.sh $PLATFORM rake ci_package_upload; fi && rake ci_timer
|
|
after_script: 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
|
|
data:
|
|
stages:
|
|
base: &base
|
|
addons:
|
|
before_script:
|
|
after_script:
|
|
housekeep:
|
|
<<: *base
|
|
cache:
|
|
before_cache:
|
|
env:
|
|
before_script: export TAG=$(git describe --exact-match $TRAVIS_COMMIT~ 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
script: rake ci_delete_mirror
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
- &debug-build-stage
|
|
stage: debug build configuration
|
|
env: LINUX=1 URHO3D_LIB_TYPE=STATIC CMAKE_BUILD_TYPE=Debug
|
|
- <<: *debug-build-stage
|
|
env: LINUX=1 URHO3D_LIB_TYPE=SHARED CMAKE_BUILD_TYPE=Debug
|
|
- <<: *debug-build-stage
|
|
env: MINGW=1 URHO3D_LIB_TYPE=STATIC CMAKE_BUILD_TYPE=Debug
|
|
- <<: *debug-build-stage
|
|
env: MINGW=1 URHO3D_LIB_TYPE=SHARED CMAKE_BUILD_TYPE=Debug
|
|
- stage: lint
|
|
env: LINUX=1 URHO3D_LINT=1
|
|
|
|
---
|
|
|
|
branch: {name: MinGW-CI, active: yes, appveyor: yes}
|
|
version: '{build}'
|
|
image: Visual Studio 2019
|
|
platform:
|
|
- x86
|
|
- x64
|
|
clone_depth: 50
|
|
cache:
|
|
# Cache the MinGW compiler toolchains so that our CI builds do not chalk up their download stats
|
|
- C:\tools\mingw32
|
|
- C:\tools\mingw64
|
|
environment:
|
|
GIT_NAME:
|
|
secure: JatNbOZZZKMvMHL8sRq9XpHgESzJ13eh9NHbMK99rX8=
|
|
GIT_EMAIL:
|
|
secure: 7EAYZJ5nFqEhMKcPmUvnqPp81XAoJEILzDJJ2qZXrKA=
|
|
GH_TOKEN:
|
|
secure: xx7og+aLQbdBSsdVo79OTGtdfqedOpYpIJjduNlzjFSXsTkD8NX8fEPq0XE1KT5n
|
|
SF_KEY:
|
|
secure: 6Vuo+sNP2YT/iI4ilNDdyJbKpu1AYxSpkdwjJxeZ3BVXM0XQQnG7VS/6IspV9kgWXmYpeVnUTqpoxAg7GDf3MTN9SeXgwHuSsblIAHDaOJk=
|
|
SF_API:
|
|
secure: gEDrho4yNr5++SbgkWsxQiFA62GJfTLrZU9Dzjz9HCUcS7XwjTGg3XsFm84w6B1s
|
|
# We cannot afford to have a large matrix on AppVeyor at the moment
|
|
URHO3D_D3D11: 1
|
|
URHO3D_LUAJIT: 1
|
|
MINGW: 1
|
|
# MinGW-w64 on Windows is NOT multilib capable
|
|
x86_64-posix-seh: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
|
|
i686-posix-dwarf: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf/i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z
|
|
matrix:
|
|
- URHO3D_LIB_TYPE: STATIC
|
|
- URHO3D_LIB_TYPE: SHARED
|
|
before_build:
|
|
- rake ci_timer
|
|
- set "APPVEYOR_REPO_COMMIT=%APPVEYOR_REPO_COMMIT%~"
|
|
- ps: $env:COMMIT_MESSAGE = $(git log --format=%B -n 1 $env:APPVEYOR_REPO_COMMIT);
|
|
if ($env:APPVEYOR_REPO_TAG -eq "true") { $env:RELEASE_TAG = $env:APPVEYOR_REPO_TAG_NAME };
|
|
if ($env:RELEASE_TAG -or ($env:APPVEYOR_REPO_BRANCH -notmatch "[^-]+-[^-]+-CI" -and (select-string '\[ci package\]' -inputobject $env:COMMIT_MESSAGE)))
|
|
{
|
|
$env:PACKAGE_UPLOAD = "1";
|
|
do { "Installing doxygen and graphviz..."; choco install doxygen.install graphviz >$null } until ($?);
|
|
}
|
|
else
|
|
{
|
|
$env:URHO3D_TOOLS = "0";
|
|
iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-desktop.ps1'))
|
|
}
|
|
- if "%PLATFORM%" == "x64" (set "URHO3D_64BIT=1" && set "MINGW_URL=%x86_64-posix-seh%" && set "ARCH=64") else (set "MINGW_URL=%i686-posix-dwarf%" && set "ARCH=32")
|
|
- if not exist "C:\tools\mingw%ARCH%" curl -fsSLo "mingw.7z" "%MINGW_URL%" && 7z x -y -o"C:\tools" "mingw.7z" >nul && echo "Installed MinGW compiler toolchain to C:\tools"
|
|
- set "PATH=C:\tools\mingw%ARCH%\bin;%PATH%"
|
|
build_script:
|
|
- rake ci && if "%PACKAGE_UPLOAD%" == "1" rake ci_package_upload
|
|
- rake ci_timer
|
|
after_build:
|
|
- if "%PLATFORM%:%URHO3D_LIB_TYPE%" == "x64:SHARED" rake ci_delete_mirror
|
|
test: off
|
|
deploy: off
|
|
|
|
---
|
|
|
|
branch: {name: Coverity-Scan, active: no}
|
|
language: cpp
|
|
compiler: gcc
|
|
cache: ccache
|
|
dist: trusty
|
|
addons:
|
|
apt:
|
|
packages: [libpulse-dev]
|
|
coverity_scan:
|
|
project:
|
|
name: $TRAVIS_REPO_SLUG
|
|
description: Urho3D is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by OGRE and Horde3D.
|
|
notification_email: urho3d.travis.ci@gmail.com
|
|
build_command_prepend: rake cmake URHO3D_LUA=0 URHO3D_SAMPLES=1 URHO3D_TOOLS=1 URHO3D_EXTRAS=1 URHO3D_DATABASE_SQLITE=1 URHO3D_LIB_TYPE=SHARED
|
|
build_command: rake make numjobs=4
|
|
branch_pattern: .*Coverity-Scan$
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: itgWNvH4Zj0hQpkUctVxMwJwVX3hIluVuvUbzO2XG7dxQaMMfcLGwVKgq8X1HOf4dJCUv5WL0jcSMWXbdc8tvqQJwBb5R2Z2JJYpTTAgtmLy7TNn6zgetZtGrYEJuTlxSItbS/NF4iPDO25ih7j5Ma0ffXRpBnlURQaytfYfFaQ=
|
|
- LINUX=1
|
|
- USE_CCACHE=1
|
|
- CCACHE_SLOPPINESS=pch_defines,time_macros
|
|
- CCACHE_COMPRESS=1
|
|
stage: scan
|
|
before_script:
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
script: true
|
|
after_script: rake ci_delete_mirror
|
|
|
|
---
|
|
|
|
branch: {name: Annotate, active: no}
|
|
language: cpp
|
|
compiler: gcc
|
|
cache: ccache
|
|
dist: trusty
|
|
addons: {apt: {packages: [libpulse-dev]}}
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- numjobs=4
|
|
- USE_CCACHE=1
|
|
- CCACHE_SLOPPINESS=pch_defines,time_macros
|
|
- CCACHE_COMPRESS=1
|
|
stage: annotate
|
|
before_script:
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
- git clone --depth 1 https://github.com/urho3d/llvm-clang.git && export LLVM_CLANG_ROOT=$(pwd)/llvm-clang
|
|
script: rake ci_annotate
|
|
after_script: rake ci_delete_mirror
|
|
|
|
---
|
|
|
|
branch: {name: Android-CI, active: yes}
|
|
dist: trusty
|
|
addons: {apt: {packages: [docker-ce]}}
|
|
cache:
|
|
directories:
|
|
- $HOME/urho3d_home_dir/.android/build-cache
|
|
- $HOME/urho3d_home_dir/.ccache
|
|
- $HOME/urho3d_home_dir/.gradle/caches
|
|
- $HOME/urho3d_home_dir/.gradle/wrapper
|
|
# before_cache: [] # intentionally leave it blank because for our case cleaning '.gradle' dir is pointless when the '.ccache' dir is guaranteed to be dirtied by our build job
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
- secure: S6Vb3QUW8mDLkLrsIRSullTjwHM1ZIeG4rUT1Nwqx4XSovTZDvq9OThrzAvnuA6sYzeyDI2WHCeBUgmiKFyVBiB2NZwZZjRlTTAC2GVyRZKph9ErhJH3O0DfbPErICQAxL+RI6uCU6nSRPzq4L64UbZi5t04n6f95JXWmfeX2oY=
|
|
- ANDROID=1
|
|
- ORG_GRADLE_PROJECT_URHO3D_LUAJIT=1
|
|
- HOT=$HOME/urho3d_home_dir/.ccache/.hot
|
|
matrix:
|
|
- ORG_GRADLE_PROJECT_URHO3D_LIB_TYPE=STATIC
|
|
- ORG_GRADLE_PROJECT_URHO3D_LIB_TYPE=SHARED
|
|
stage: universal build configuration
|
|
before_script:
|
|
- rake ci_timer
|
|
- 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 bintrayUpload=bintrayUpload; fi
|
|
- if (echo $COMMIT_MESSAGE |grep -cq '\[cache clear\]' || [[ ! -e $HOT ]]); then export ORG_GRADLE_PROJECT_ANDROID_ABI=arm64-v8a,armeabi-v7a; unset bintrayUpload; fi; touch $HOT
|
|
- if [[ "$ORG_GRADLE_PROJECT_URHO3D_LIB_TYPE" == "STATIC" ]]; then export ORG_GRADLE_PROJECT_URHO3D_SAMPLES=0; fi
|
|
- rake ci_setup_cache
|
|
script: script/dockerized.sh android ./gradlew build $bintrayUpload --console plain && rake ci_timer
|
|
matrix:
|
|
fast_finish: true
|
|
include: [stage: housekeep]
|
|
|
|
---
|
|
|
|
branch: {name: RPI-CI, active: yes}
|
|
dist: trusty
|
|
addons: {apt: {packages: [docker-ce]}}
|
|
cache: {directories: [$HOME/urho3d_home_dir/.ccache]}
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
- numjobs=4
|
|
- RPI=1
|
|
matrix:
|
|
# RPI 4 64-bit
|
|
- URHO3D_LIB_TYPE=STATIC RPI_ABI=RPI4
|
|
- URHO3D_LIB_TYPE=SHARED RPI_ABI=RPI4
|
|
# RPI 3
|
|
- URHO3D_64BIT=0 URHO3D_LIB_TYPE=STATIC RPI_ABI=RPI3
|
|
- URHO3D_64BIT=0 URHO3D_LIB_TYPE=SHARED RPI_ABI=RPI3
|
|
stage: release build configuration
|
|
before_script:
|
|
- rake ci_timer
|
|
- 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
|
|
- rake ci_setup_cache
|
|
script: script/dockerized.sh rpi rake ci && if [[ $PACKAGE_UPLOAD ]]; then script/dockerized.sh rpi rake ci_package_upload; fi && rake ci_timer
|
|
matrix:
|
|
fast_finish: true
|
|
include: [stage: housekeep]
|
|
|
|
---
|
|
|
|
branch: {name: ARM-CI, active: yes}
|
|
dist: trusty
|
|
addons: {apt: {packages: [docker-ce]}}
|
|
cache: {directories: [$HOME/urho3d_home_dir/.ccache]}
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
- numjobs=4
|
|
- ARM=1
|
|
matrix:
|
|
# ODROID-C2
|
|
- URHO3D_LIB_TYPE=STATIC ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
- URHO3D_LIB_TYPE=SHARED ARM_ABI_FLAGS='-mcpu=cortex-a53'
|
|
# ODROID-X2
|
|
- URHO3D_64BIT=0 URHO3D_LIB_TYPE=STATIC ARM_ABI_FLAGS='-mcpu=cortex-a9 -mfpu=neon-fp16'
|
|
- URHO3D_64BIT=0 URHO3D_LIB_TYPE=SHARED ARM_ABI_FLAGS='-mcpu=cortex-a9 -mfpu=neon-fp16'
|
|
stage: release build configuration
|
|
before_script:
|
|
- rake ci_timer
|
|
- 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
|
|
- rake ci_setup_cache
|
|
script: script/dockerized.sh arm rake ci && if [[ $PACKAGE_UPLOAD ]]; then script/dockerized.sh arm rake ci_package_upload; fi && rake ci_timer
|
|
matrix:
|
|
fast_finish: true
|
|
include: [stage: housekeep]
|
|
|
|
---
|
|
|
|
branch: {name: Web-CI, active: yes}
|
|
dist: trusty
|
|
addons: {apt: {packages: [docker-ce]}}
|
|
cache:
|
|
directories:
|
|
- $HOME/urho3d_home_dir/.ccache
|
|
- $HOME/urho3d_home_dir/.emscripten_cache
|
|
- $HOME/urho3d_home_dir/initial-build-tree
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
- numjobs=4
|
|
- WEB=1
|
|
- HOT=/home/travis/urho3d_home_dir/.ccache/.hot
|
|
matrix:
|
|
- EMSCRIPTEN_SHARE_DATA=1
|
|
- EMSCRIPTEN_SHARE_DATA=0
|
|
stage: release build configuration
|
|
before_script:
|
|
- rake ci_timer
|
|
- 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 echo $COMMIT_MESSAGE |grep -cq '\[cache clear\]' || [[ ! -e $HOT ]]; then export URHO3D_SAMPLES=0; else export URHO3D_SAMPLES=1; fi; touch $HOT
|
|
- if [[ $URHO3D_SAMPLES = 1 ]] && [[ "$TRAVIS_BRANCH" == "Web-CI" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then export SAMPLE_UPLOAD=1; fi
|
|
- rake ci_setup_cache
|
|
script: script/dockerized.sh web rake ci && if [[ $EMSCRIPTEN_SHARE_DATA = 1 ]]; then if [[ $PACKAGE_UPLOAD ]]; then script/dockerized.sh web rake ci_package_upload; fi && if [[ $SAMPLE_UPLOAD ]]; then script/dockerized.sh web rake ci_emscripten_samples_update; fi; fi && rake ci_timer
|
|
matrix:
|
|
fast_finish: true
|
|
include: [stage: housekeep]
|
|
|
|
---
|
|
|
|
branch: {name: OSX-CI, active: yes}
|
|
language: objective-c
|
|
cache:
|
|
directories:
|
|
- $HOME/.ccache
|
|
- $HOME/initial-build-tree
|
|
osx_image: xcode11.6
|
|
env:
|
|
global:
|
|
- secure: SLJCjkjDsTMbCIV9Wecz5JATnhk0fuzlnLMeZdvvFDv+8NL8cXyutkU0VfyRSLf3HSD1Js79a6fRMROyVGWj/w/BRrjqGnZzsB6+ZeJNnadiVIF5Gh+w90We5ccvSp2G4DyYgwkNnkKlJK7zNEWGu/K+bHL1EOCA+EIVrFMyA44=
|
|
- secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
|
|
- numjobs=3
|
|
- OSX=1
|
|
- CCACHE_SLOPPINESS=pch_defines,time_macros
|
|
- CCACHE_COMPRESS=1
|
|
matrix:
|
|
- XCODE=1 TVOS=1 URHO3D_LIB_TYPE=STATIC APPLETVOS_DEPLOYMENT_TARGET=13.4 sdk=appletvsimulator
|
|
- XCODE=1 IOS=1 URHO3D_LIB_TYPE=STATIC IPHONEOS_DEPLOYMENT_TARGET=13.4 sdk=iphonesimulator
|
|
- XCODE=1 URHO3D_LIB_TYPE=STATIC CMAKE_OSX_DEPLOYMENT_TARGET=10.15 SF_DEFAULT=mac:OSX-64bit-STATIC.tar.gz
|
|
- XCODE=1 URHO3D_LIB_TYPE=SHARED CMAKE_OSX_DEPLOYMENT_TARGET=10.15
|
|
- MAKEFILE=1 URHO3D_LIB_TYPE=STATIC URHO3D_DEPLOYMENT_TARGET=generic
|
|
- MAKEFILE=1 URHO3D_LIB_TYPE=SHARED URHO3D_DEPLOYMENT_TARGET=generic
|
|
stage: release build configuration
|
|
before_script:
|
|
- rake ci_timer
|
|
- 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 [[ $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 [[ $MAKEFILE ]]; then ccache=ccache; fi
|
|
- travis_retry brew install doxygen graphviz $cmake $ccache
|
|
- if [[ ! $cmake ]]; then brew outdated cmake || brew upgrade cmake; fi
|
|
- if [[ $ccache ]]; then export PATH=$(brew info ccache |grep -o '\S*lib\S*'):$PATH USE_CCACHE=1; fi
|
|
- if [[ $XCODE ]]; then export config=Release; 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; fi
|
|
script: rake ci && if [[ $PACKAGE_UPLOAD ]]; then rake ci_package_upload; fi && rake ci_timer
|
|
matrix:
|
|
fast_finish: true
|
|
include: [stage: housekeep]
|
|
|
|
...
|
|
|
|
# vi: set ts=2 sw=2 expandtab:
|