Commit Graph

346 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
741363e948
For CI - reinstate Coverity-Scan CI as the service is up again.
[ci only: Scan] [skip appveyor]
2018-03-17 12:43:44 +08:00
Yao Wei Tjong
9c666ae6b8
Move the lint stage to where it was and disable Coverity-Scan for now. 2018-03-10 10:46:16 +08:00
Yao Wei Tjong 姚伟忠
aa42579a9c
For CI - fix site update and CI mirror branches creation. 2018-02-01 22:35:34 +08:00
Yao Wei Tjong 姚伟忠
aabcb9bbed For CI - move the lint build stage to the top.
Any errors from this build stage will then automatically stop all the subsequent stages. This is applicable for PR too.
[ci only: master] [skip appveyor]
2018-01-28 22:42:15 +08:00
Yao Wei Tjong 姚伟忠
97b494fc1b For CI - disable LUA when performing coverity scan for now.
This should remove all the false positive from the tolua++ generated source code.
2018-01-28 06:37:01 +08:00
Yao Wei Tjong 姚伟忠
bae678b132 For CI - simplify build matrix for Travis Mac build environment.
Since our past assumptions of what is necessary and what is working may no longer valid now due to changes from Travis and from upgraded versions of the software we use, also due to the removal of the number of archs being included in our build, the build matrix setup is simplified without the past speed improvement and workaround scripts. We may modify our setup again depends on the need in the future CI builds.
[skip appveyor] [ci only: OSX]
2018-01-27 19:22:15 +08:00
Yao Wei Tjong 姚伟忠
f2f6fd6fd4 For CI - switch off ccache for xcodebuild as it stalled the build.
Something has changed in the Travis Mac build environment and/or ccache that break our (hack) setup. So. temporarily switch ccache off until we can figure out what went wrong.
2018-01-27 09:55:45 +08:00
Yao Wei Tjong
cfb6cdacf1 For CI - upgrade to Clang-Tidy 4.0. 2018-01-26 06:55:09 +08:00
Yao Wei Tjong 姚伟忠
f1c1f5aa42 For CI - setup the lint stage on the primary CI. 2018-01-24 02:06:23 +08:00
Yao Wei Tjong 姚伟忠
0ea35dfb6b For CI - reduce the number of Debug build configuration CI jobs.
[skip appveyor] [ci only: master, Android]
2018-01-06 19:56:56 +08:00
urho3d-travis-ci
70049ba582 Travis CI: bump copyright to 2018.
[cache clear]
2018-01-01 05:35:37 +00:00
Yao Wei Tjong 姚伟忠
117f186fdb For CI - use alternative software packages for Doxygen and Graphviz.
[skip travis]
2017-12-30 12:39:58 +08:00
Yao Wei Tjong 姚伟忠
08b838022b Add CMake messages for deprecated build option usage. 2017-12-15 23:32:46 +08:00
Yao Wei Tjong 姚伟忠
79d4803f51 For CI - upgrade to Xcode 9.2 and targeting iOS 11.2 and macOS 10.13. 2017-12-15 23:31:46 +08:00
Yao Wei Tjong 姚伟忠
3b68cc6b64 For CI - upgrade Linaro compiler toolchains for ARM-CI.
[ci only: ARM] [skip appveyor]
2017-11-21 21:32:26 +08:00
Yao Wei Tjong 姚伟忠
d9249c56d8 For CI - fix normal OSX-CI build after a successful packaging build.
[ci only: OSX] [skip appveyor]
2017-10-16 23:28:47 +08:00
Yao Wei Tjong 姚伟忠
c7da2f52a3 For CI - rename the Travis-CI build stages. 2017-09-30 17:44:03 +08:00
Yao Wei Tjong 姚伟忠
99e6bb1e07 For CI - upgrade to CMake 3.9.2 and also fix PATH for Web-CI build. 2017-09-13 22:34:56 +08:00
Yao Wei Tjong 姚伟忠
e0df869ec3 For CI - add debug builds for Android-CI. 2017-09-07 21:56:58 +08:00
Yao Wei Tjong 姚伟忠
6acff357c5 For CI - cache the whole initial build tree for OSX-CI builds.
Close #2095
2017-09-04 21:33:47 +08:00
Yao Wei Tjong 姚伟忠
3ba42e2983 For CI - only use the custom cache when it is available.
[ci skip]
2017-08-26 18:12:03 +08:00
Yao Wei Tjong 姚伟忠
47d25c27fd For CI - attempt to speed up all the CI jobs on OSX build environment.
Close #2095. [ci package]
2017-08-26 15:41:33 +08:00
Yao Wei Tjong
2118761c5a For CI - correct typo.
[skip appveyor] [ci only: master]
2017-08-21 00:10:27 +08:00
Yao Wei Tjong 姚伟忠
7e1c82685f For CI - ensure debug build stage does not produce any build artifact. 2017-08-20 22:05:08 +08:00
Yao Wei Tjong 姚伟忠
be87f315f2 For CI - misc. post-mortem fixes. 2017-08-20 16:43:33 +08:00
Yao Wei Tjong 姚伟忠
848f52fbe9 For CI - attempt to implement the conditional build stage on our own.
This is to fix packaging build on OSX build environment where they were running out of time in the absense of the pre-cache stage.
[ci package] test that it does not trigger on a branch.
2017-08-14 09:01:30 +08:00
Yao Wei Tjong 姚伟忠
d5ff93a128 For CI - switch off the OSX precache build.
It will be reimplemented as build stage later when Travis supports conditional build stage.
2017-07-21 23:54:28 +08:00
Yao Wei Tjong 姚伟忠
a3a0465c8d For CI - take advantage of Travis CI's build stages.
Perform housekeeping at the last stage when all the build jobs in the build stage have completed.
Add a placeholder for new lint stage in primary CI.
Use alternate mirror branch to prevent technical error due to multiple commits being pushed to HEAD on slow moving build queues.
Close #1942.
2017-07-19 21:55:18 +08:00
Yao Wei Tjong 姚伟忠
ea783ae69f For CI - upgrade CMake version to 3.8.2 for builds that uses Linux VM. 2017-07-11 22:22:10 +08:00
Yao Wei Tjong 姚伟忠
20ec572c9d Switch to use "urho3d" own account in AppVeyor.
Close #1959.
2017-07-05 22:57:50 +08:00
Yao Wei Tjong 姚伟忠
75b8420a31 Initial work for porting Urho3D to AppleTV platform. 2017-06-05 23:04:09 +08:00
Yao Wei Tjong 姚伟忠
84c8be164b For CI - fix generic ARM CI build.
[skip appveyor] [ci only: ARM, OSX]
2017-05-25 00:03:47 +08:00
Yao Wei Tjong 姚伟忠
3d39061627 Simplify the build option for sharing pak-loader script and data. 2017-05-21 20:21:27 +08:00
Yao Wei Tjong
46342d1b17 For CI - fix Android CI packaging build.
[ci package] [skip appveyor] [ci only: Android]
2017-05-19 21:04:15 +08:00
Yao Wei Tjong 姚伟忠
b9947eee3a For CI - Upgrade CMake (3.8.1) and compiler toolchain to support C++11. 2017-05-18 22:40:17 +08:00
Yao Wei Tjong 姚伟忠
9623f94230 For CI - prevent coverity scan for CI build on feature branches.
[ci only: Web]
2017-04-27 23:18:04 +08:00
Yao Wei Tjong 姚伟忠
10881e0f9e For CI - perform the coverity scan on each CI build now.
It appears the service quota has been increased to one scan per day for the project of our size.
2017-04-27 00:12:55 +08:00
Yao Wei Tjong 姚伟忠
2e613d4fc3 For CI - fix Coverity Scan build. 2017-04-26 00:48:16 +08:00
Yao Wei Tjong 姚伟忠
51c9e358ae For CI - temporary fix to use Emscripten master SDK for asm.js mode.
The investigation will be carried out in another development branch.
Related to #1911. [skip appveyor] [ci only: Web]
2017-04-17 22:00:45 +08:00
Yao Wei Tjong 姚伟忠
6aba66ce66 For CI - upgrade to Xcode 8.3. 2017-04-05 18:16:50 +08:00
Yao Wei Tjong 姚伟忠
1bd123ecfb Disable exception handling codegen for Emscripten DEBUG build config.
Urho3D library does not use C++ exceptions feature. Emscripten already disables exception handling by default for -O1 and above.
2017-03-27 23:15:16 +08:00
Yao Wei Tjong 姚伟忠
9d84ccffe4 Initial attempt to support MODULE library type for Web platform.
Disallow memory growth when using MODULE lib-type.
Move the resource defining and checking logic into their own macros.
2017-03-26 22:18:35 +08:00
Yao Wei Tjong 姚伟忠
0b443c9fd9 For CI - reduce the job number to 1 for Web STATIC CI build.
From the past few CI builds the fastcomp occasionally produced stack dump or other errors. Probably it requires more memory for this build configuration.
2017-03-05 08:46:37 +08:00
Yao Wei Tjong 姚伟忠
7102a25409 For CI - disable web run tests as they are not reliable on Travis. 2017-03-05 08:46:29 +08:00
Yao Wei Tjong 姚伟忠
0b218946f3 For CI - add new WebAssembly CI build. 2017-03-05 08:46:29 +08:00
Yao Wei Tjong 姚伟忠
98bdf13583 Enhance toolchain files to first check on suitable ccache symlink.
If a suitable symlink is found in the standard ccache symlink directory then skip creating fallback symlink in the build tree.
2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
2738ca2546 Skip subsequent processing of toolchain file during inital config. 2017-03-05 08:45:39 +08:00
Yao Wei Tjong 姚伟忠
f7c9cfa95e Regex replace single bracket with double bracket in all shell scripts. 2017-03-05 08:45:38 +08:00
Yao Wei Tjong 姚伟忠
0f471ce263 For CI - upgrade CMake to version 3.2.3. 2017-03-05 08:34:41 +08:00
Yao Wei Tjong 姚伟忠
69b7a9d59b For CI - correct the "master" branch name for Web-CI build.
[ci only: Web] [skip appveyor]
2017-02-27 23:00:13 +08:00
Yao Wei Tjong 姚伟忠
5fe936e460 For CI - only upload web samples when it is a master CI build.
[ci skip]
2017-02-26 10:42:42 +08:00
Yao Wei Tjong 姚伟忠
5ffb40b643 For CI - use the new build option to reduce number of changed objects.
Close #1762.
2017-02-23 23:11:46 +08:00
Yao Wei Tjong 姚伟忠
c629ed1f79 For CI - fix MinGW packaging build on AppVeyor.
[skip travis] [ci package]
2017-02-19 20:28:18 +08:00
Yao Wei Tjong 姚伟忠
342599a914 For CI - cache the MinGW tool directories without invalidator.
The .travis.yml file turns out to be a bad invalidator as well because it is also mutating between normal and MinGW CI builds.
2017-02-19 12:29:52 +08:00
Yao Wei Tjong 姚伟忠
9949277a46 For CI - use .travis.yml as invalidator for MinGW tool directory.
The .appveyor.yml file is altering between normal and MinGW CI build so it is not suitable to be used as cache invalidator, although what we originally want to achieve was "just" to monitor the MinGW version environment variable in the .appveyor.yml file of the MinGW CI build.
[ci only: master, MinGW, Android]
2017-02-17 07:25:11 +08:00
Yao Wei Tjong 姚伟忠
966c35f475 For CI - revert the cache setup on AppVeyor CI build.
Close #1804 for now. [ci only: master, MinGW]
2017-02-15 22:47:34 +08:00
Yao Wei Tjong 姚伟忠
c017c2e607 For CI - fix the CI builds on AppVeyor to use the build cache. 2017-02-14 23:10:40 +08:00
Yao Wei Tjong 姚伟忠
a9973de026 For CI - adjust the timestamp to achieve incremental build on AppVeyor.
[ci only: master, MinGW]
2017-02-12 01:33:02 +08:00
Yao Wei Tjong 姚伟忠
8ac9db6772 For CI - upgrade to the latest Linaro ARM compiler toolchains.
[ci only: ARM]
2017-02-11 13:44:12 +08:00
Yao Wei Tjong 姚伟忠
f77939e7ae For CI - separate MinGW build tree from VS build tree.
Test [cache clear].
2017-02-10 08:08:03 +08:00
Yao Wei Tjong 姚伟忠
949fef6239 For CI - take advantage of AppVeyor's cache mechanism.
Close #1804.
2017-02-10 01:02:04 +08:00
Yao Wei Tjong 姚伟忠
8ac70b2ad3 For CI - setup new MinGW CI build on Windows server. 2017-02-05 19:26:30 +08:00
Yao Wei Tjong 姚伟忠
1481228bb5 For CI - fix the sample upload task to preserve the index.md file.
Change the task execution order. Now upload samples first then perform packaging build, if it is required. The artifacts may have been ruined after the packaging build.
[ci only: Web]
2017-01-14 18:02:53 +08:00
Yao Wei Tjong 姚伟忠
ed22596dbf For CI - upload web samples from each CI build.
It appears that peoples are expecting this instead. Previously the samples were only uploaded during "packaging" build which is only triggered whenever there is "big" code changes.
[ci only: Web]
2017-01-14 16:26:45 +08:00
urho3d-travis-ci
ee054a1507 Travis CI: bump copyright to 2017.
[ccache clear]
2017-01-01 13:01:31 +00:00
Yao Wei Tjong 姚伟忠
d4e74a35c0 Set the default for SDL's VIDEO_MIR build option to FALSE.
Related to issue #1714.
2016-12-16 22:24:21 +08:00
Yao Wei Tjong 姚伟忠
4010ff8e40 For CI - always disable MIR support for ARM-CI build for now.
SDL 2.0.5 requires MIR version 0.24.0+ and the MIR version in our sysroot is older.
2016-11-09 23:10:02 +08:00
Yao Wei Tjong 姚伟忠
3b81e6f2b7 For CI - move OSX-CI to the last and temporarily comment off some.
This is a temporary measure until Travis has got their act together to fix their OSX VM performance and stability issues.
2016-10-15 11:25:07 +08:00
Yao Wei Tjong 姚伟忠
565744e8b5 For CI - no need to turn PCH off explicitly anymore as it is now auto. 2016-09-22 22:15:36 +08:00
Yao Wei Tjong 姚伟忠
a5c5956103 For CI - use the latest OSX image with Xcode 8.
Close #1598.
2016-09-21 00:36:26 +08:00
Yao Wei Tjong 姚伟忠
77f6e752d8 For CI - bump up Linaro's GCC version.
[ci only: ARM] [skip appveyor]
2016-09-03 17:19:06 +08:00
Yao Wei Tjong 姚伟忠
de42a54a25 For CI - conditionally skipping cleanup steps when not packaging. 2016-08-24 19:48:20 +08:00
Yao Wei Tjong 姚伟忠
252ef3399e For CI - upgrade to Xcode 7.3.1.
Update the documentation on how to enable ccache for Xcode 7 on OSX with SIP/rootless turned on.
2016-08-24 19:37:50 +08:00
Yao Wei Tjong 姚伟忠
372844cce3 For CI - skip uninstalling brew-cask step for now.
The uninstalling step suddenly stop working today, probably due to a system upgrade on Travis-CI side. Need to further investigate what went wrong. Hopefully by skipping this step the VM still has enough free disk space for packaging build on OSX CI.
[skip appveyor] [ci only: OSX]
2016-08-14 00:25:00 +08:00
Yao Wei Tjong 姚伟忠
e2bad7d2c2 For CI - fix release tag packaging for master branch. 2016-08-08 19:44:35 +08:00
Yao Wei Tjong 姚伟忠
9908b08e83 For CI - fix the housekeeping logic for the SF.net.
The old snapshots were not being removed in the correct order due to a bug in the housekeeping logic. Since we have more build artifacts per build now, reduce to only keep the build artifacts from the lasts 10 builds instead of 30.
Also generate 64-bit ARM RPM package using 'lib64' (suitable for RH/Fedora) for completeness sake.
[ci package]
2016-08-06 19:38:20 +08:00
Yao Wei Tjong 姚伟忠
1d9d70921e For CI - reduce number of CI jobs for RPI.
For RPI 2 and 3, only test build with NEON enabled.
2016-08-05 18:51:40 +08:00
Yao Wei Tjong 姚伟忠
9123b7a51c For CI - add new CI jobs for 64-bit generic ARM builds.
Upgrade GCC to 4.9 only for 64-bit generic ARM CI builds because it appears LuaJIT requires version greater than 4.8 for 64-bit ARM build.
2016-08-05 18:49:31 +08:00
Yao Wei Tjong 姚伟忠
87bee872e8 Add extra linker flags to make 64-bit ARM cross-compiling possible.
When cross-compiling we have already defined '--sysroot' to find the direct library dependencies. However when a shared library has its own dependencies (DT_NEEDED) then we need to supply extra linker flags to help the linker to find those indirect library dependecies in the sysroot.
Actually we also had this problem for 32-bit ARM cross-compiling, but we cheated in the earlier CI build jobs by using Linaro/Raspbian compiler toolchain. Somehow the Raspbian's linker simply "ignores" those indirect library dependencies or it uses other mean to locate them (but I doubt that), and so it does not have linker issues with libreadline.so (depends on tinfo), libGLESv2.so (depends on glapi), etc. The other ARM compiler toolchains from Linaro seem to be more strict in this regard. Most likely the raspbian's linker is a gold linker.
This commit could also potentially fix a known issue in our FindUrho3D.cmake module where we have to hardcode the library dependencies that libUrho3D.so in turn depends on (to be investigated later).
2016-08-05 18:41:52 +08:00
Yao Wei Tjong 姚伟忠
a01ee5ec30 For CI - add new CI jobs for 32-bit generic ARM builds. 2016-08-05 18:33:35 +08:00
Yao Wei Tjong 姚伟忠
9fee916c55 For documentation - use https protocol when it is available. 2016-07-24 13:39:14 +08:00
Yao Wei Tjong 姚伟忠
b454440f51 For CI - adapt to NDK r12b which renamed '*-clang3.6' to '*-clang'. 2016-07-18 22:51:57 +08:00
Yao Wei Tjong 姚伟忠
3668e1d9d1 For CI - address the limitation of Travis CI's caching logic.
Travis CI is not able to find the matching cache file in their cache store for the newly created CI mirror branches for new topic branch. As the result, the initial CI jobs run without the benefit of the ccache. For OSX and iOS universal binary builds, this would usually cause our custom interrupt mechanism to be triggered. To avoid that, when cache size is 0 then we configure the build system to only build for 64-bit arch. Basically half the number of archs in the universal build.
2016-06-11 22:56:57 +08:00
Yao Wei Tjong 姚伟忠
5bdd519ce7 Another attempt to reenable AS wrapper for 64-bit ARM platform.
For CI - switch all the Android CI jobs to use Clang compiler toolchian instead of GCC compiler toolchain. The old GCC 4.9 is not able to handle C++11 standard for AS wrapper. Besides, the latest change log in Android NDK has marked GCC as deprecated and recommended developers to migrate to Clang.
2016-06-10 17:17:21 +08:00
Yao Wei Tjong 姚伟忠
1c7529bee4 For CI - add "md5deep" to our brew whitelist.
It appears to be required by Travis-CI internally when uploading the ccache objects to its internal cache store.
2016-05-21 12:13:54 +08:00
Yao Wei Tjong 姚伟忠
9ffc4da59e For CI - clean up configuration for secondary AppVeyor CI setup.
Close #1200. Hopefully we have nailed it for good.
2016-05-21 11:58:27 +08:00
Yao Wei Tjong 姚伟忠
8c0a9a3809 For CI - misc. minor adjustments. [ccache clear]
1. Switch back to use Travis-CI internal cache store for Android and OSX CI builds. Travis-CI team has enhanced their cache key computation so that each CI job "by default" should get a unique key and as such there is no more need to use our "compiler key hack". The enhancement also makes the switch possible.
2. Disable secondary AppVeyor CI and reenable testing of 39_CrowdNavigation sample in primary AppVeyor CI.

Our internal cache store (backed by GitHub repository) will be decommissioned shortly after this.
2016-05-19 13:45:13 +08:00
Yao Wei Tjong 姚伟忠
aa706344ff For CI - exclude 42_PBRMaterials for OSX as it takes too long to run.
Perhaps we should enhance the buildsystem to only exclude certain sample from being test run but still build the sample so it still ends up in the build artifact.
2016-05-11 19:47:46 +08:00
Yao Wei Tjong 姚伟忠
0b304cfa28 For CI - attempt to fix the brew uninstall step due to invalid input.
[ci only: OSX] [skip appveyor]
2016-05-06 18:54:56 +08:00
Yao Wei Tjong 姚伟忠
87f408be51 For CI - avoid hard-coding of the sample list in the build script.
Switch the build output verboseness to normal as the diagnostic mode also does not help to reveal any additional information on the crowd navigation sample when it segfaulted during test.
2016-04-26 13:25:45 +08:00
Yao Wei Tjong 姚伟忠
da3711f0e6 For CI - remove 32-bit only iOS build.
[ci only: OSX]
2016-04-18 13:44:13 +08:00
Yao Wei Tjong 姚伟忠
faf50b0d99 For CI - wake up the main thread as soon as worker thread completes. 2016-04-18 12:38:07 +08:00
Yao Wei Tjong 姚伟忠
241450da51 For CI - uninstall all unneeded homebrew packages to free up space. 2016-04-15 18:56:31 +08:00
Yao Wei Tjong 姚伟忠
fcb687bd08 For Travis CI - attempt to free up more space on OSX build environment. 2016-04-10 20:31:47 +08:00
Yao Wei Tjong 姚伟忠
c9560bd223 For Travis and AppVeyor - show last checkpoint at the desired place.
Account for differences between Travis (which has built-in cache uploading support) and AppVeyor (which uses cmd "shell" that does not handle the '&&' operator at the end of the command correctly), we have to invoke the last 'ci_timer' rake task differently.
2016-03-30 06:54:22 +08:00
Yao Wei Tjong 姚伟忠
15a90276f5 For AppVeyor CI - bring checkpoint timer to AppVeyor. 2016-03-26 19:41:20 +08:00
Yao Wei Tjong 姚伟忠
1796182337 For Travis CI - cleanup homebrew caches to free up disk space. 2016-03-25 21:11:15 +08:00
Yao Wei Tjong 姚伟忠
8cbe4ca146 For Travis CI - revert back to Xcode7.1 due to SIP on 7.3 VM.
The SIP (aka rootless) feature prevents our script to setup the ccache for Clang. This will be a big problem in the future. The universal binary build on OSX and iOS platforms are only made possible with the help of ccache, on some cases we are just barely made it within the 50 minutes time limit. If the ccache cannot be setup due to SIP then we have to rethink everything.
[ci only: OSX] [skip appveyor]
2016-03-25 15:11:42 +08:00
Yao Wei Tjong 姚伟忠
8ef50490ba For Travis CI - switch to Xcode 7.3 and display second in checkpoints.
Add temporary scouting logic to hunt down Java and other unneeded software components in the OSX build environment.
2016-03-25 14:33:02 +08:00
Yao Wei Tjong 姚伟忠
f5fcfc48f1 Set CMake minimum version to 3.2.3 for Windows platform.
This is in preparation to use optional components feature of find_package() command for FindDirectX.cmake module (was FindDirect3D).
2016-03-16 01:45:08 +08:00