Commit Graph

346 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
b902e863e6 For Travis CI - add support for multi-platforms CI for topic branch. 2014-12-03 17:05:17 +08:00
Yao Wei Tjong 姚伟忠
aaec0d9200 For Travis CI - use Release build configuration when build on bad VM.
Now this rule is applicable for all target platforms (Linux, Windows, Android, and Raspberry-Pi) which have their CI builds run on Linux/Ubuntu host VM. Mac OSX and iOS CI builds are not affected by this rule since they run on OSX host VM which is not susceptible to "bad VM" issue. The idea is to reduce memory consumption during the linking phase and thus avoiding the process being killed due to insufficient memory in the VM.
2014-11-27 20:19:58 +08:00
Yao Wei Tjong 姚伟忠
e7b0808b12 Misc. fixes in the build script to improve the release mechanism.
The following changes address the shortcomings of our current release mechanism detected from our last release.
- Define and set RELEASE_TAG environment variable only when a git tag conform to a release tagging matching regex "\d+\.\d+".
- Change the logic to allow the automated rake tasks to be triggered on a 'tag' branch properly.
- Fix the 'git rebase' command to use the branch pointed by TRAVIS_BRANCH environment variable as baseline, instead of assuming it to be always 'origin/master' as before.
- Change Urho3D library versioning CMake module to omit the version patch number when there is none, i.e. 1.32 instead of 1.32.0.
2014-11-23 20:01:32 +08:00
Yao Wei Tjong 姚伟忠
17b8150f31 For Travis CI - consider 'tag' branch as master branch. 2014-11-22 10:27:24 +08:00
Yao Wei Tjong 姚伟忠
f28d29cf2d For Travis CI - clean up Rakefile, only download for DirectX CI build. 2014-10-30 18:07:14 +08:00
Yao Wei Tjong 姚伟忠
c3646224fc For Travis CI - temporarily allowed the new CI builds to fail.
The MinGW packages from Ubuntu 12.04 LTS are too old to pull this off.
2014-10-30 13:37:39 +08:00
Yao Wei Tjong 姚伟忠
899f8334f3 For Travis CI - add CI builds for MinGW + URHO3D_OPENGL=0 combination.
These new CI builds will perform the build test on the DirectX code path which is currently not covered in any of our existing CI.
The CI builds should also improve the detection of any breakage caused by build script changes for MinGW compiler.
2014-10-30 12:33:11 +08:00
Yao Wei Tjong 姚伟忠
1cdfd2ef19 For Travis CI - only upload build artifacts from GCC compiler.
Exclude uploading build artifacts from Clang compiler for now as we have too many variants already.
Test [ci package].
2014-10-03 20:56:54 +08:00
Yao Wei Tjong 姚伟忠
fca678c3b9 For Travis CI - add CI build using Clang, optimize for MinGW install. 2014-10-03 18:13:31 +08:00
Yao Wei Tjong 姚伟忠
ea5a4bbf2a For Travis CI - fix the condition as the env var may not be defined. 2014-09-29 18:42:41 +08:00
Yao Wei Tjong 姚伟忠
e06762db76 On non-MSVC compiler, default to 64-bit when host compiler is.
The default can be overriden using URHO3D_64BIT build option as before.
2014-09-29 18:28:08 +08:00
Yao Wei Tjong 姚伟忠
a1a889c21a For Travis CI - fix MingW 32-bit CI build. 2014-09-15 23:21:18 +08:00
Yao Wei Tjong 姚伟忠
04328aeed2 For Travis CI - when cross-compiling don't touch native toolchain. 2014-09-15 22:30:01 +08:00
Yao Wei Tjong 姚伟忠
036fe0959c For Travis CI - code cleanup but add more memory diagnostics.
[ci package]

- Simplify the check on environment variable containing the commit-ish used in the 'git describe' command.
- Shuffle the rebase order in 'ci_rebase' rake task, move the OSX-CI rebase to the last as OSX Travis-CI build environment is extremely slow lately (has longer job queue).
- Improve 'android' rake task to only create named AVD for CI test when necessary and to turn off graphics acceleration explicitly when starting the emulator in CI environment.
- Add more memory diagnostics to help in investigation of process being killed by Travis CI upstream issue reported in #430.
2014-09-12 13:52:00 +08:00
Yao Wei Tjong 姚伟忠
19577d2fd0 For Travis CI - change to use git fetch 'unshallow' instead of 'depth'.
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.
2014-09-09 22:44:39 +08:00
Yao Wei Tjong 姚伟忠
0e9f54da9f For Travis CI - move Raspberry-Pi build to its own CI mirror branch. 2014-09-08 14:26:38 +08:00
Yao Wei Tjong 姚伟忠
e613cbde91 For Travis CI - refine abort message for 'android' rake task.
Test [ci package] for Android-CI build.
2014-09-07 18:59:36 +08:00
Yao Wei Tjong 姚伟忠
e38b165906 For Travis CI - move Android CI build to its own CI mirror branch. 2014-09-06 14:06:43 +08:00
Yao Wei Tjong 姚伟忠
aa7068d332 For Travis CI - test run Android APK in emulator as part of CI build.
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).
2014-09-06 01:41:47 +08:00
Yao Wei Tjong 姚伟忠
80df272f0f For Travis CI - another attempt before cutting RPI lose for good. 2014-09-04 18:51:02 +08:00
Yao Wei Tjong 姚伟忠
9917635483 For Travis CI - workaround RPI build intermittent build error.
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.
2014-09-04 18:19:04 +08:00
Yao Wei Tjong 姚伟忠
f58d8563e8 For Travis CI - misc. minor refactoring and bug fixes.
- 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.
2014-09-03 15:17:40 +08:00
Yao Wei Tjong 姚伟忠
e5ec24ca64 For Travis CI - add memory diagnostics before attempting to git clone.
Temporary adjust build matrix to ignore RPI CI build error.
2014-09-02 16:58:21 +08:00
Yao Wei Tjong 姚伟忠
ff46a2032d For Travis CI - cleanup and sleep before retrying the cloning job.
Don't read between the lines :)
It has been proven on our CI build that just using 'travis_retry git clone ...' alone will never going to work.
2014-09-02 13:32:21 +08:00
Yao Wei Tjong 姚伟忠
03e99708e4 For Travis CI - use travis_retry when cloning RPI sysroot and tool.
Test [ci package].
2014-09-02 01:37:22 +08:00
Yao Wei Tjong 姚伟忠
6df619c383 For Travis CI - Refactor to terminate early on any errors.
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.
2014-09-02 00:15:10 +08:00
Yao Wei Tjong 姚伟忠
89fc5f3b07 For Travis CI - Misc. minor changes to improve CI build.
- 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.
2014-09-01 15:00:18 +08:00
Yao Wei Tjong 姚伟忠
0fffb18972 For Travis CI - Fix downloading from wrong Android NDK arch. 2014-08-28 08:17:45 +08:00
Yao Wei Tjong 姚伟忠
cda4637106 For Travis CI - Revert back to always install ALSA for all platforms.
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]
2014-08-28 01:04:35 +08:00
Yao Wei Tjong 姚伟忠
46f4f6fa24 For Travis CI - Upgrade to Android NDK r10 and SDK r23.0.2.
Closes #429.
2014-08-27 23:52:14 +08:00
Yao Wei Tjong 姚伟忠
5761839635 For Travis CI - Install libasound2-dev only when targetting Linux.
Closes #430.
2014-08-27 23:52:14 +08:00
Yao Wei Tjong 姚伟忠
6aa37fc87f Set default tab width to 2 for vi editor only for these two files. 2014-08-08 14:24:29 +08:00
Yao Wei Tjong 姚伟忠
18bf6484cf For Travis CI - wrap package installation steps with 'travis_retry'.
Occasionally package installation could fail due to timed out or other unknown one-off network issue, using 'travis_retry' wrapper to retry the installation should fix this.
2014-07-21 11:08:43 +08:00
Yao Wei Tjong 姚伟忠
c26038fe05 Attempt to fix the MinGW failed build due to linker runs out of mem.
Add -fno-keep-inline-dllexport compiler option when building using MinGW in order to reduce the object size and the link time (and thus hopefully reduce the linker memory consumption as well).
2014-07-20 19:39:05 +08:00
Yao Wei Tjong 姚伟忠
31360310ca For Travis CI - reduce parallel build jobs to 2 for MinGW static lib.
This is necessary because the last two CI builds have failed for MinGW static library build due to insufficient memory during linking phase.

Also:
- Increase the number of build artifacts being kept in the SourceForge.net.
- Fixes #380 by skipping Mach-O binary (universal library) for iOS 64-bit build. The Urho3D lib in the build artifact will only contain 64-bit arch, 32-bit arch and iphonesimulator are excluded for now to reduce the build time.
2014-07-04 00:01:28 +08:00
Yao Wei Tjong 姚伟忠
f15c75d2ef For Travis CI - attempt to perform CI build using multiple build jobs. 2014-06-11 13:13:57 +08:00
Yao Wei Tjong 姚伟忠
95d344522e For Travis CI - fix broken dependencies for non 64-bit builds.
Closes #337.
2014-05-01 11:43:34 +08:00
Yao Wei Tjong 姚伟忠
46285baf97 Refactor build scripts to group Urho3D specific build option.
Initial support of project configuration and generation via cmake-gui.
2014-04-05 00:20:56 +08:00
Yao Wei Tjong 姚伟忠
95ec049a0b For Travis CI - fix Raspberry Pi package build. [ci package] 2014-03-26 00:05:57 +08:00
Yao Wei Tjong 姚伟忠
106da642ae For Travis CI - make Raspberry Pi CI build as mandatory to pass.
[ci package]
2014-03-22 15:18:40 +08:00
Yao Wei Tjong 姚伟忠
ed1f820f9b For Travis CI - workaround FindALSA cmake module bug on Ubuntu 12.04. 2014-03-21 21:03:33 +08:00
Yao Wei Tjong 姚伟忠
dd1cbc9499 For Travis CI - attempt to perform CI build for Raspberry Pi platform. 2014-03-21 20:35:59 +08:00
Yao Wei Tjong 姚伟忠
41549655ce Build both armeabi and armeabi-v7a ABIs when packaging for Android.
- Fix android toolchain to correctly set the library output path when ANDROID_ABI build option changes.
- For Travis CI - download and setup Android SDK on the fly when performing Android packaging.
- Final apk is included in the binary package.
2014-03-19 23:57:48 +08:00
Yao Wei Tjong 姚伟忠
8db9061782 For Travis CI - another attempt to reshuffle for better upload grouping.
[ci skip]
2014-03-15 20:47:34 +08:00
Yao Wei Tjong 姚伟忠
a7d43dc67b For Travis CI - reshuffle build matrix to optimise build jobs. 2014-03-15 18:13:46 +08:00
Yao Wei Tjong 姚伟忠
68be9a9e57 Fix MINGW_ROOT variable value computation when not being provided. 2014-03-11 20:03:20 +08:00
Yao Wei Tjong 姚伟忠
dce461469f For Travis CI - detect release tag and do the necessary automatically.
When a release tag is detected in a commit, instruct CI build to perform a released package build that uploaded into release directory instead of Snapshots directory.
2014-03-09 16:42:30 +08:00
Yao Wei Tjong 姚伟忠
1a7d032425 Misc. minor fixes. 2014-03-02 16:16:50 +08:00
Yao Wei Tjong 姚伟忠
8b4fcb9386 For Travis CI - use 'travis_retry' command to improve the odd.
See https://github.com/travis-ci/travis-ci/issues/2000.
[ci skip]
2014-02-26 14:39:09 +08:00
Yao Wei Tjong 姚伟忠
77a87b824c For Travis CI - escape bracket character to fix commit message parsing.
[ci skip]
2014-02-25 15:50:46 +08:00
Yao Wei Tjong 姚伟忠
c306e7d57a For Travis CI - another attempt to fix iOS 64-bit packaging.
[ci package]

- When performing CI build for iOS platform, suppress all warnings. Non-CI build will still receive them.
- Automatically instruct Travis CI to do packaging when AngelScript or LuaScript API have changed.

Additionally, enhance iOS-specific Urho3D_universal custom target to perform initial check to see a rebuild is really necessary.
2014-02-24 17:21:56 +08:00
Yao Wei Tjong 姚伟忠
da6c5e54ad For Travis CI - fix Linux RPM packaging and iOS 64-bit packaging.
[ci package]

Travis-CI Ubuntu build environment requires additional software package to generate RPM package.
Travis-CI does not like iOS 64-bit build that generates >4MB log and kills the build process. Workaround by trying to rebuild universal binary quietly, hopefully the rebuild would not exceeds 10 minutes or otherwise Travis-CI would kill the process again for the other reason: no log activity. Finger cross.
2014-02-24 02:10:49 +08:00
Yao Wei Tjong 姚伟忠
82b707e66b For Travis CI - more tweaks on the packaging setup. [ci package]
- Prevent packaging from being accidentally invoked by a pull request or a commit on non-master branch.
- Generate documentation before packaging if it is not yet generated in previous step.
- When packaging for iOS platform, rebuild Urho3D library as Mach-O universal binary.
- When packaging for Linux platform, also invokes RPM and Debian CPack generators.
2014-02-24 00:16:53 +08:00
Yao Wei Tjong 姚伟忠
544c738b5a For Travis CI - change the private key and secure key. [ci package] 2014-02-23 13:42:06 +08:00
Yao Wei Tjong 姚伟忠
dd6f06c8da For Travis CI - supplying keys for automatic package upload.
[ci package]
2014-02-23 13:18:52 +08:00
Yao Wei Tjong 姚伟忠
b4ffce6af9 For Travis CI - fix commit message parsing that contains quotes.
Look 'here' [ci package]
2014-02-22 15:32:20 +08:00
Yao Wei Tjong 姚伟忠
08271fda85 For Travis CI - misc. tweaks. [ci package]
- Perform shallow clone when building site documentation to speed up cloning process.
- Perform unshallow pull when packaging so that 'git describe' gives correct commit count since last tag.
- Only perform packaging when all the previous steps are successful. Reduce chances of binary package with not up-to-date documentation.
- When packaging for iOS platform, generate the documentation quietly (no stdout but still stream error to stderr).
2014-02-22 14:43:22 +08:00
Yao Wei Tjong 姚伟忠
a857cff97e For Travis CI - fix commit message parsing. [ci package] 2014-02-21 18:13:43 +08:00
Yao Wei Tjong 姚伟忠
89836f11fc For Travis CI - attempt to make packages on demand. [ci package] 2014-02-21 17:47:04 +08:00
Yao Wei Tjong 姚伟忠
ea1372e05b Add copyright protection for Travis CI setup. 2014-02-18 12:35:32 +08:00
Yao Wei Tjong 姚伟忠
b0623e8965 For Travis CI - set MinGW cross-compiling build as mandatory to pass.
Preparation for OSX-CI build.
2014-02-17 19:44:37 +08:00
Yao Wei Tjong 姚伟忠
5f67c434bf For Travis CI - try to fix installation of MinGW-W64 packages.
Somehow apt-get in Travis-CI build environment does not auto install all the dependencies.
2014-02-15 19:37:07 +08:00
Yao Wei Tjong 姚伟忠
5a469eea39 Fix MinGW cross compiling build on Ubuntu host system.
Attempt to add CI build for Windows platform using MinGW cross compiling toolchain.
2014-02-15 18:55:09 +08:00
Yao Wei Tjong 姚伟忠
a6a19ebadb For Travis CI - make 32&64-bit and android build as mandatory to pass. 2014-02-13 15:11:38 +08:00
Yao Wei Tjong 姚伟忠
c8a8d15681 For Travis CI - attempt to fix 32-bit CI build. Skip Android SDK. 2014-02-13 00:05:32 +08:00
Yao Wei Tjong 姚伟忠
f95328ac0f For Travis CI - speedup CI build for pull requests. 2014-02-12 16:21:38 +08:00
Yao Wei Tjong 姚伟忠
a6eb19f5ba For Travis CI - temporary disable 32-bit. Android CI build is OK now! 2014-02-11 23:23:05 +08:00
Yao Wei Tjong 姚伟忠
ca36bf1e17 For Travis CI - change the subshell to bash shell. Pardon our dust. 2014-02-11 23:03:32 +08:00
Yao Wei Tjong 姚伟忠
357019e0f3 For Travis CI - subshell could not export var, so define it elsewhere. 2014-02-11 22:55:19 +08:00
Yao Wei Tjong 姚伟忠
797528b3c8 For Travis CI - complete the last branching with a true command. 2014-02-11 22:07:10 +08:00
Yao Wei Tjong 姚伟忠
18c2418064 For Travis CI - change the sh option from -e to -c. 2014-02-11 21:54:02 +08:00
Yao Wei Tjong 姚伟忠
09742eb18e For Travis CI - another attempt to add more CI build matrix. 2014-02-11 21:50:12 +08:00
Yao Wei Tjong 姚伟忠
d85d24ae82 For Travis CI - attempt to setup 32-bit and Android CI build. 2014-02-11 21:39:56 +08:00
Yao Wei Tjong 姚伟忠
a770760eb5 For Travis CI - Install rake into global gem set.
It was not neccessary before but somehow all the Travis CI build environment for C++ language today do not have rake pre-installed anymore.
2014-02-08 16:45:44 +08:00
Yao Wei Tjong 姚伟忠
59b2b02888 Fix build using Urho3D as external library. Closes 112.
Add test cases in Travis CI to test build using Urho3D as external library in external (non Urho3D) project.
2014-01-07 22:03:32 +08:00
Yao Wei Tjong 姚伟忠
662fe84d3c For Travis CI - Replace GH_TOKEN as it was exposed in the build log.
Due to git push failure from detached HEAD, the error log in Travis CI build contains GH_TOKEN for worker account. A new GH_TOKEN is now generated.
Enhance the script so that it does not spit out any output or error when pushing. The script still can rely on command exit status, however.
2014-01-05 12:12:41 +08:00
Yao Wei Tjong 姚伟忠
aa4ec0ec78 For Travis CI - only install what being requested. 2014-01-03 09:05:54 +08:00
Yao Wei Tjong 姚伟忠
1e3593e9d2 For Travis CI - another attempt to enable testing. 2013-12-30 16:45:08 +08:00
Yao Wei Tjong 姚伟忠
0fb12e5883 For Travis CI - revert back call to make test pending investigation. 2013-12-30 08:32:44 +08:00
Yao Wei Tjong 姚伟忠
088eef9e60 Add simple test cases as part of the Travis CI build.
Also fix Editor in case-sensitive platforms.
2013-12-30 07:48:31 +08:00
Yao Wei Tjong 姚伟忠
f0f2d1f0e2 For Travis CI - ensure automated commit does not trigger another CI.
[ci skip]

Attempt to consolidate to use the same GitHub token for both urho3d/Urho3D.git and urho3d/urho3d.github.io.git repositories.
2013-12-28 21:30:54 +08:00
Yao Wei Tjong 姚伟忠
614cbe2bb6 For Travis CI - automate committing of scripting APIs changes.
[ci skip]
2013-12-28 16:08:22 +08:00
Yao Wei Tjong 姚伟忠
4da5b49361 For Travis CI - increase log level of apt-get command. [ci skip] 2013-12-27 12:30:20 +08:00
Yao Wei Tjong 姚伟忠
fcfeb6aad2 Add shared library type into Travis CI build test matrix.
Site documentation update is skipped when building shared library type.
2013-12-24 13:54:07 +08:00
Yao Wei Tjong 姚伟忠
2748d2bea6 Add abort mechanism to prevent error to bring the site documentation down. 2013-12-23 22:58:39 +08:00
Yao Wei Tjong 姚伟忠
4031b4b2e4 Skip documentation update if CI build is invoked not on master branch.
Also:
- Setup doxygen configuration on the fly to use minimal theme and to produce SVG instead of PNG.
- Change how the GH_TOKEN is supplied as the GIT version in Travis VM (Ubuntu) does not seem to read the credentials from file store correctly.
- Only generate site documentation after the CI build test has passed.
- Add Ubuntu PPA to install a more recent version of Doxygen.
2013-12-22 17:17:50 +08:00
Yao Wei Tjong 姚伟忠
0b60fc327e Skip documentation update if CI build is invoked due to a pull request. 2013-12-21 16:45:32 +08:00
Yao Wei Tjong 姚伟忠
0ece93f1e1 Revert back CI build setting. 2013-12-20 18:11:08 +08:00
Yao Wei Tjong 姚伟忠
efdad3fd6f Change Travis CI secret for one last time. 2013-12-20 16:39:45 +08:00
Yao Wei Tjong 姚伟忠
2e7cdc80f1 Test site documentation deployment using Travis CI. 2013-12-20 16:20:49 +08:00
Yao Wei Tjong 姚伟忠
7a0b30d796 Change Travis CI secret. Bypass build step for quick build test. 2013-12-20 16:09:25 +08:00
Yao Wei Tjong 姚伟忠
bd39347e3a Attempt to automate deployment of site documentation using Travis CI. 2013-12-20 15:30:09 +08:00
Yao Wei Tjong 姚伟忠
0b20416812 Setup Travis CI. Exclude Clang build. GCC build appears to be OK now. 2013-12-19 22:17:37 +08:00
Yao Wei Tjong 姚伟忠
bdce36136f Setup Travis CI. Add missing doxygen package and correct build path. 2013-12-19 21:46:06 +08:00
Yao Wei Tjong 姚伟忠
6d41fbcee1 Setup Travis CI. 2013-12-19 21:35:34 +08:00
Yao Wei Tjong 姚伟忠
82b20f7134 Attempt to setup CI build using Travis. 2013-12-19 21:16:34 +08:00