20 Commits

Author SHA1 Message Date
pentarctagon
1a2be4bef5 Add steam runtime job to travis. 2019-11-18 19:28:15 -06:00
pentarctagon
d83fd5d9c8 Add mingw crosscompile job to travis.
Of note:
* The image now created by Dockerfile-base-mingw is available on wesnoth's Docker Hub.
* Strict building is disabled, as there are a couple warnings that show up when crosscompiling.
2019-11-15 18:54:49 -06:00
Gunter Labes
e5615b92bc
Print error messages in red
Use unbuffer to work around a travis issue when a secret is set in .travis.yml: https://github.com/travis-ci/travis-ci/issues/7967
As a bonus colored output of for example cmake now works again.
Also streamline test execution.
2019-03-06 14:21:32 +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
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
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
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
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
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
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
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
4bccc19ebc Move docker_run.sh into utils/travis/ 2018-03-02 13:55:22 -06:00