The hard-coded depth=2000 may not be a good estimate of how deep we should go in order to get the last annotated tag. Also move the operation to 'ci' rake task so it can be shared for all the Travis-CI build environments.
Cannot enable hardware acceleration in the Travis CI VM, so just check the sign of Urho3D from being started instead of checking the engine is fully initialized.
This should prevent the similar incident like SONAME breaking Android APK went unnotice for days.
Also:
- Revert back the workaround attempt for the RPI build as it did not work. The build error problem has been reported to Travis-CI upstream issue log.
- Add new rake task to automate Android APK testing (tested on Linux platform only).
Currently there is no permanent solution to the intermittent build environment setup issue. In order to avoid false alarm on the overall build status, this commit temporarily group the git clone step as part of the script run. As such when it exits non-cleanly, it would be treated as build failure instead of build error. But since we have already set the RPI CI build to allow failure, their 'failures' (if it happens) should not affect the overall build status.
Also fix to properly exclude IOS 64-bit test run on OSX CI build environment, but thanks to this mistake we found another bigger mistake in the xcode_build error handling.
- Add Android API level environment variable.
- Prevent unnecessary enabling of CMake testing configuration when the build test cannot be performed for specific target platform.
- Fix missing 'abort' command on a number of error handling branches.
The errors include: git clone error, apt-get update/install error, download error, etc.
The purpose of this refactor is to clearly distinguish between Travis CI build error (caused by error on Travis side) and Travis CI build failure (caused by build or test failure on Urho3D side). Previous setup sometimes allowed build environment in error state to continue to proceed with software building phase due to inefficient branching logic.
- Remove other temporary workaround for MinGW CI build to see if changing to 'Release' build configuration is enough to fix the insufficient memory problem.
- Attempt to fix intermitten network problem when installing software packages for Rasperry-Pi CI build by delaying the massive sysroot git clone to the last. Read this blog (http://blog.travis-ci.com/2013-05-20-network-timeouts-build-retries/) on general network issue plaguing travis-ci.org.
Straightly speaking ALSA is not required while cross-compiling to other non-Linux targets. However, in the CI build we have enabled Lua or LuaJIT and because of that we have to build some native tool(s). The problem is when configuring native project on a Linux build system, we could not inform our CMake script to ONLY configure for the tool building. Currently the script always attempt to configure most of things including SDL which in turns depends on ALSA, although actually the Lua tool building does not require it.
[ci package]