76 Commits

Author SHA1 Message Date
Martin Hrubý (hrubymar10)
8629cbf91f
[Fwd-port] Apply latest changes to Xcode project from 1.14 branch
Commits included:
b677423cdd2a46b5abc1a8cdb21b79f9cde968ba
662da36ac5cee6c9786b83413daf9524979be5b0
d3eebd61e14efb00754f49bcefd962ab5e24b760
4d08b1eb78955378fbb13537b3f8cfc43450fa92
c03ab2e54c2d2410350dbbd4c6c8ef5fdc92e501
2019-01-31 14:17:49 +01:00
pentarctagon
7034c8f97b Run WML schema validation in travis. Fixes #3709
This adds running the WML schema validation in travis.  It also updates the schema itself and fixes a few WML errors so that core and all campaigns under all difficulties pass the schema validation.
2018-11-24 10:35:22 -06:00
Victor Sergienko
8716b8f9d0 #3634, #3557: Port from iOS: Compile with Apple crypto framework instead of OpenSSL. 2018-10-25 23:20:04 -07:00
Jyrki Vesterinen
945a386c25 check_utf8.sh: don't check the second Lua bytecode test scenario
This avoids the other file with binary data.

(cherry-picked from commit 212601deab6ba803db3e0b4ed8ee5d0cbc3f3018)
2018-10-07 03:23:47 +00:00
Jyrki Vesterinen
81d6970195 check_utf8.sh: don't check the Lua bytecode file
This avoids one of the two files which are currently causing macOS SCons
builds to fail in the master branch.

(cherry-picked from commit 8dc60ae98fa472d7a5fa124002f7b1a2f552e0f3)
2018-10-07 03:23:46 +00:00
Charles Dang
39ff3e9114 Remove reference to players_changelog
(cherry-picked from commit 5bb72d7c8987ba4bb3ff734efe54d9c33c0d19b5)
2018-10-07 03:23:25 +00:00
Martin Hrubý (hrubymar10)
e6e8e20551 Switch travis Xcode to DEBUG scheme
(cherry-picked from commit dee670d2b5882c50464423b503477b0ae7593057)
2018-10-07 03:21:34 +00:00
Pentarctagon
f262321864 Fix building with osx+cmake on travis.
(cherry-picked from commit f5d74cd5ed0991ac02e3476e44ab1d615a6614a0)
2018-10-07 03:20:49 +00:00
Pentarctagon
b53e875bc6 Add osx+cmake support to travis.
(cherry-picked from commit f53c6b84cd96fa07405ebec699262158fb3311c3)
2018-10-07 03:20:49 +00:00
pentarctagon
a040d521a4 Updates cmake and scons to be able to compile with OGL.
Scons OpenGL/GLEW test taken mostly verbatim from 3e2eba22a96cb2c6c69ee5109059b806f22a372f

(cherry-picked from commit 5e36a90039ddde3625690ace5259198e1932a7f8)
2018-10-07 03:20:04 +00:00
pentarctagon
ff0009aa52 Don't copy the po/ directory into the docker image for non-NLS jobs.
(cherry-picked from commit 3effecdb069dad3036011ddb47f07d56e8ded121)
2018-10-07 03:19:57 +00:00
pentarctagon
6da9f62685 Running the translations is short, so do them through scons and cmake.
(cherry-picked from commit ea4d85a06e6815b398cb4b33dd334fb025d59ca4)
2018-10-07 03:19:56 +00:00
pentarctagon
5045c09fd5 Put the docker image on its own line.
(cherry-picked from commit eb0a290ca16080e615b4e538616dbaacc36579f0)
2018-10-07 03:19:56 +00:00
pentarctagon
c75a083541 Allow specifying a sanitizer with cmake.
(cherry-picked from commit 5b94101975abd1ab81cc79bc18710478129446af)
2018-10-07 03:19:37 +00:00
pentarctagon
c07b8ca798 Enable building with mysql support on travis.
(cherry-picked from commit 4157251f11a5669c64a3941462615dad0da65c96)
2018-10-07 03:19:36 +00:00
pentarctagon
754b8a6221 Print the value of STRICT and build_timeout.
(cherry-picked from commit 96c41271d80937da778d05477b0e1caadc6def10)
2018-10-07 03:19:35 +00:00
pentarctagon
1ef1704fd9 Adds the opt/OPT option to scons/cmake.
Travis now also makes use of this to set the optimization level for the -O0 builds, rather than extra_flags_*.  This additionally fixes an issue where using -O0 in the release build with LTO resulted in the individual *.o files being compiled with -O0, but LTO then still linked with release's default -O3.

(cherry-picked from commit 63ff641662d4192401a49f9a002d7872000a3f02)
2018-10-07 03:19:35 +00:00
pentarctagon
17d921f434 Make the C++17 build fail on warnings.
(cherry-picked from commit dd4b525c402879c9b67f799e634c5c172b49ee97)
2018-10-07 03:19:25 +00:00
pentarctagon
a0adab3fcc Adds a c++17 build using the pre-release Ubuntu 18.04.
Though given 00d87f8fe4078ffd84fcdc0d73fcc2104efef1e7 I would say this is better than nothing.

(cherry-picked from commit 33ad6be326c234b173d680ce34589464f88f8418)
2018-10-07 03:19:24 +00:00
pentarctagon
83a2457dd8 Add a check to fail the job if compiling takes too long.
The intent behind this is that, if there most likely wouldn't be enough time left to complete the unit tests anyway, then just fail the job after compiling so the cache can be updated.  Otherwise, if the unit tests were run and the job timed out, then the cache would not be uploaded at all and the next time the job ran it would be from scratch again.

(cherry-picked from commit 5d970e40cd43a23a8d1b8198e962f198fc9282b0)
2018-10-07 03:19:14 +00:00
pentarctagon
b2cca08257 Allow setting a sanitizer to use.
Note: UBSan at least does seem to take a fairly significant amount of extra time to compile and run the WML tests with.

(cherry-picked from commit 92f74c39f6aedc10bd04f1cf6dc9144fb35e3a19)
2018-10-07 03:19:14 +00:00
pentarctagon
a07b847181 Allow setting EXTRA_FLAGS_RELEASE to something other than -O0.
(cherry-picked from commit 2ed9d2c0c4d1d079190ff5bd2a8a287f9076d198)
2018-10-07 03:19:13 +00:00
pentarctagon
4bb16f25a7 Make LTO controllable via travis env variable.
(cherry-picked from commit 66caa190f6dcde039cc5cb73e4f43a061aef43b8)
2018-10-07 03:19:13 +00:00
pentarctagon
f4c221216b Create travis dockerfile in the travis script step.
This allows having multiple Dockerfile-base-* files without also needing to add a separate Dockerfile-travis-* file due to the FROM line changing.

(cherry-picked from commit 3f67c2fbf051aa9e322defb66c782477cd53b8bd)
2018-10-07 03:18:45 +00:00
pentarctagon
dcf2767a14 Add using dockerfiles based on the LTS and BRANCH env vars
This makes it simpler in the future to have branches that have dependencies that are different from master, rather than having a single image with all necessary dependencies installed, which may at some point end up not being possible to do.

(cherry-picked from commit 1bb5fdf2830515d33793c52f298d305bd12b5a60)
2018-10-07 03:18:37 +00:00
pentarctagon
5e386ef43b Make UTF8 checks fail the build if they find anything.
Also fixes a comment typo in docker_run.sh.

(cherry-picked from commit c456d4b288ca6df59cca3663c10131f2c75e8574)
2018-10-07 03:18:08 +00:00
pentarctagon
14089528e7 Removes a couple scripts that are not used.
utils/travis/install_deps.sh - no longer executes anything outside of the osx if block.
utils/travis/exit_wrapper.sh - I honestly don't know why this exists.
utils/travis/test_wrapper.sh - No longer used as of 7ca5a0df6449b4b895842566d33a38872f1f507e.

(cherry-picked from commit 344b5c56b90cffcbc9638bcb7535bb3e0f073da7)
2018-10-07 03:18:07 +00:00
pentarctagon
2e76d2fe40 Remove debugging symbols from Travis xcode build.
This removes the -g option from the xcode travis build, since debugging information isn't needed and the increased size was causing the cache to timeout when compressing and uploading it.  ccache max cache size is also decreased from 2 GBs to 200 MBs, which matches the linux+cmake builds.  Fixes #2670.

(cherry-picked from commit b801140344c7cbf86980ff54ef963f9ec2122897)
2018-10-07 03:18:06 +00:00
pentarctagon
7f0827b848 Stop hard-coding cmake's -std version.
Adds the CXX_STD variable which can be set.  Currently defaults to 14.  This also now makes cmake honor the CXXSTD env variable set on travis.

(cherry-picked from commit 983045718aa13a2b7b1b45bb37baa76a88a1d47e)
2018-10-07 03:17:58 +00:00
Charles Dang
950a156712 Addressed most of the remaining whitespace issues from #2613
[ci skip]
2018-03-11 14:59:37 +11:00
pentarctagon
02244aaa53 Make LTO controlled by a variable export in steps/install.sh.
Currently will remain disabled everywhere, but this allows for enabling LTO for optimized, non-xcode jobs just by changing the value of the LTO variable.
2018-03-08 15:40:05 +02:00
pentarctagon
ee51afa128 Moves the build-cache directory to be under $HOME.
Moving it out of the same directory as the git repository means that the object files won't be copied into the temporary docker container when it's being created.
2018-03-08 15:40:05 +02:00
pentarctagon
258b8b9bae Make docker_run.sh use 4 space indenting to match other shell scripts.
Also split apart the really long scons/cmake single lines
2018-03-08 15:40:05 +02:00
pentarctagon
900a159c8b Attempt to fix suspected race condition when running MP tests.
Currently the MP unit tests will randomly fail due to one of the two background wesnoth instances failing video initialization.  All unit tests require the display server to be initialized however, or they fail with the same error as the MP tests sometimes fail with.  However, the MP tests are the only tests to randomly fail due to video initialization, while for the same travis job the WML unit tests (which run before) and the boost unit tests (which run after) are still able to be successfully completed.

Therefore, the video initialization failures are not entirely random, and the MP tests are also the only tests that experience this failure while also being the only tests that have more than one instance of wesnoth running simultaneously.

tl;dr: the attempted solution here is to sleep for 5 seconds between starting background processes in the mp unit test script.

Also removes starting the display server prior outside of the docker container, since that's not needed anymore.
2018-03-05 15:49:46 +11:00
pentarctagon
abf93216ac Don't source steps/script.sh.
Travis runs all commands in .travis.yml in its own wrapper script, so by sourcing steps/script.sh and then using exit explicitly, it resulted in the entire travis wrapper immediately terminating.  With steps/script.sh no longer sourced, using exit works as expected again, and only exits steps/script.sh rather than quitting everything. Another solution, should sourcing steps/script.sh become necessary, is to use return instead of exit.

With that addressed, it's then possible to re-add printing the ccache statistics after the build ends while also making sure that the script exits with the return code of the xcodebuild/cmake+make command rather than the return code of the ccache statistics commands.
2018-03-04 15:48:00 -06:00
pentarctagon
2a783b0df2 Fix for failed ccache builds being considered successful.
Travis looks at the return code of the final command run, and since printing the ccache statistics never fails, building would never be considered as failing. Manually calling exit also causes travis to treat the build as errored, since by sourcing the build it results in the entire travis wrapper shell exiting.
2018-03-03 16:46:06 -06:00
pentarctagon
6f02d1bebb Make scons' mysql handling more normal. 2018-03-02 13:55:22 -06:00
pentarctagon
ea06cdc63a Move the logic for the install and script steps into their own files.
Also merges the before_install and install steps.
2018-03-02 13:55:22 -06:00
pentarctagon
4bccc19ebc Move docker_run.sh into utils/travis/ 2018-03-02 13:55:22 -06:00
pentarctagon
b71f7cdc3c Moves the ccache clang wrapper scripts to utils/travis/.
Also clears the ccache statistics after printing them. This means the hit/miss count will be shown per run, rather than cumulatively.
2018-02-24 10:56:05 -06:00
Jyrki Vesterinen
72739c56a5 Revert ignoring MP test failures due to video init failure (2e5c5da0036be2e68b42e70f3153b799236b5b69)
This code ended up ignoring *all* MP test failures, in particular the one
fixed in commit 11d7b9f0cfe29ab6d6b5829c8e337b7cb67eeb18.

I'd test the code and fix it if I could, but unfortunately I can no longer
develop on GNU/Linux because of PC issues (which I mentioned in Discord).
Therefore I'm just reverting the entire change.
2017-11-29 21:34:03 +02:00
Gregory A Lundberg
bf8758afde Tell Travis about Boost unit test name change 2017-11-06 13:43:18 -06:00
Alexander van Gessel
fc0674bcb6 Change *_RUNNING vars to string comparisons 2017-10-04 17:00:31 +02:00
Alexander van Gessel
fea609d309 Add missing break 2017-10-04 11:17:38 +02:00
Alexander van Gessel
2e5c5da003 MP test: treat failed init of SDL_video as a 'successful' test 2017-10-04 09:32:00 +02:00
Alexander van Gessel
7b3254964d Ensure that mp_test_executor exits 2017-10-04 09:12:32 +02:00
Celtic Minstrel
c9191c9812 Add OpenSSL's libcrypto as a dependency
This also removes the included SHA1 and MD5 implementations
in favour of those from OpenSSL.

Thanks to @jyrkive for helping to get the CMake build working and
ensuring the game still compiles with OpenSSL 1.1.0.
(The SHA_xxx() aliases were removed in OpenSSL 1.1.0.)
2017-05-12 15:57:13 -04:00
Celtic Minstrel
5bc16e2544 Travis hack: Don't require vorbis on OSX 2016-11-12 15:20:04 -05:00
Celtic Minstrel
217a6e91f7 Travis: Install OSX dependencies
Also restrict environment and compiler for OSX build
2016-11-12 15:20:04 -05:00
Charles Dang
3ff4a18983 Update GUI2 test plugin names (since c43651f99b24) 2016-11-12 18:35:44 +11:00