Commit graph

33 commits

Author SHA1 Message Date
Pentarctagon
b8acbfe8d0 Put --add-cap right after docker run. 2019-07-25 19:18:47 -05:00
Pentarctagon
1165ce0d39 Docker doesn't like --cap-add for some reason. 2019-07-25 18:33:35 -05:00
Pentarctagon
b0200d1380 Attempt to fix gdb error when attempting to disable aslr 2019-07-25 18:27:19 -05:00
Pentarctagon
073081ef89 Fix travis macos+scons build.
Steps:
1) added `brew install libffi`, was told it was already installed and to try reinstalling.
2) changed to `brew reinstall libffi`, was told it was "keg only" and was provided the PKG_CONFIG export statement.
3) added export statement, seems to work.
2019-03-15 03:29:04 -05:00
Jyrki Vesterinen
37a72b7423 Revert "Attempted workaround for macOS SCons build failure"
This reverts commit 643210ba7f.

The workaround didn't help. SCons still doesn't find libffi. See build
log at https://travis-ci.org/wesnoth/wesnoth/jobs/505677825
2019-03-13 12:34:35 +02:00
Jyrki Vesterinen
643210ba7f Attempted workaround for macOS SCons build failure
Homebrew should really install libffi implicitly when we install anything
that depends on it. But let's try to work around the problem by installing
it explicitly.
2019-03-13 12:10:05 +02: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
Martin Hrubý (hrubymar10)
8629cbf91f
[Fwd-port] Apply latest changes to Xcode project from 1.14 branch
Commits included:
b677423cdd
662da36ac5
d3eebd61e1
4d08b1eb78
c03ab2e54c
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
Martin Hrubý (hrubymar10)
e6e8e20551 Switch travis Xcode to DEBUG scheme
(cherry-picked from commit dee670d2b5)
2018-10-07 03:21:34 +00:00
Pentarctagon
f262321864 Fix building with osx+cmake on travis.
(cherry-picked from commit f5d74cd5ed)
2018-10-07 03:20:49 +00:00
Pentarctagon
b53e875bc6 Add osx+cmake support to travis.
(cherry-picked from commit f53c6b84cd)
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 3e2eba22a9

(cherry-picked from commit 5e36a90039)
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 3effecdb06)
2018-10-07 03:19:57 +00:00
pentarctagon
5045c09fd5 Put the docker image on its own line.
(cherry-picked from commit eb0a290ca1)
2018-10-07 03:19:56 +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 63ff641662)
2018-10-07 03:19:35 +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 92f74c39f6)
2018-10-07 03:19:14 +00:00
pentarctagon
a07b847181 Allow setting EXTRA_FLAGS_RELEASE to something other than -O0.
(cherry-picked from commit 2ed9d2c0c4)
2018-10-07 03:19:13 +00:00
pentarctagon
4bb16f25a7 Make LTO controllable via travis env variable.
(cherry-picked from commit 66caa190f6)
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 3f67c2fbf0)
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 1bb5fdf283)
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 c456d4b288)
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 7ca5a0df64.

(cherry-picked from commit 344b5c56b9)
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 b801140344)
2018-10-07 03:18:06 +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
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