Commit graph

58 commits

Author SHA1 Message Date
Pentarctagon
b100cebd4b Upload VS pdb files for the Debug configuration. 2020-03-02 07:35:09 -06:00
Pentarctagon
2f22de2636 Make debug builds instead of -O0 builds.
Rename OPT -> CFG.
Rename LTS -> IMAGE.
Reorder travis jobs.
2020-02-28 11:35:04 -06:00
Pentarctagon
d8e79a8e89 Run the pre-release translation targets on travis.
This will then catch errors on the commit it happens instead of usually much later.
2020-02-24 20:45:07 -06:00
Pentarctagon
5642ca74e4 Create macOS debug dmg image on travis.
Also uploads it to SourceForge.  This is also set to be UDBZ(bzip2) rather than UDZO(zlib), since it shrinks the dmg size for 30-40 MBs.
2020-02-21 22:20:08 -06:00
Pentarctagon
6b3245f643 Install paramiko for future SFTP use. 2020-02-19 21:32:13 -06:00
Pentarctagon
0f163825e6 Move variable exports to the install step. 2020-02-19 21:32:13 -06:00
Pentarctagon
dbe2eeabde Disable macOS code signing.
The Release configuration defaults to requiring it.
2020-02-19 21:32:13 -06:00
Pentarctagon
598310579c Build translations on macOS. 2020-02-19 21:32:13 -06:00
Pentarctagon
af74d9853c Remove code for no longer used scons/cmake travis builds. 2020-02-19 21:32:13 -06:00
Pentarctagon
abd7aed0f9 Switch to running Release and Debug xcode jobs on macOS. 2020-02-19 21:32:13 -06:00
Pentarctagon
082e209552 Run valid character checks during the translations job. 2020-02-19 21:32:13 -06:00
Pentarctagon
a36b99225a Upload .tar.bz2 from travis.
While it can't be used currently, it's there and functioning in case that changes in the future.
2020-02-16 09:56:44 -06:00
Pentarctagon
d9ba86ffe2 Upload the debug output of the VS job. 2020-02-16 05:27:10 -06:00
Pentarctagon
204c4b804c Create windows installer on Travis. 2020-02-15 18:41:01 -06:00
Pentarctagon
e679909762 Increase the xcode job's ccache size.
For whatever reason the existing limit of 200MB is no longer enough, resulting in a significant number of cache misses, which results in partial rebuilds taking far longer than they should.
2020-02-07 16:49:50 -06:00
Pentarctagon
84d88e97e3 Make variables provided to docker environment variables.
Currently they are only regular variables passed to a script, so they are not picked up by cmake as expected.
2020-02-07 16:49:50 -06:00
Pentarctagon
656737e6c9 Upload executables from travis.
This will SFTP the wesnoth and wesnothd executables from Travis (UPLOAD_ID=<something>) to SourceForge.
2020-02-07 08:18:40 -06:00
pentarctagon
6e27a84071 Enable caching/incremental builds for Windows builds on travis.
Problem: msbuild uses timestamps to determine what needs to be rebuilt, and git doesn't track files' last modified time, so everything is always fully rebuilt.
Solution: This commit adds an sqlite database that tracks C/C++ files and their md5 hashes. If a file's hash hasn't changed, then it doesn't need to be rebuilt, so its last modified time is backdated 20 years. The 20 years is an arbitrarily chosen amount of time and has no special significance.
2020-01-05 01:35:09 -06:00
pentarctagon
d1f2d9add2 Make sure to exit with the correct status. 2020-01-05 01:35:09 -06:00
pentarctagon
392f84afff Fail quickly if dependencies fail to install.
The chocolatey package manager seems to semi-frequently have 503 errors.  Ideally there's a way to cache these packages on Windows rather than re-downloading them every time.
2020-01-05 01:35:09 -06:00
pentarctagon
0a7f483c72 Add debug and release Windows jobs to travis.
This also removes the separate WML_tests.cmd scripts from VC14 and VC16, now instead using the same run_wml_tests script as the linux jobs.

There is currently no caching of the Windows jobs, since msbuild unfortunately uses timestamps rather than more complete information like scons/ccache in order to determine if things need to be rebuilt. Since git doesn't preserve any sort of last modified timestamp, the cloned repo into the travis job is always "newer" than the cached compiled output, and therefore wesnoth is always fully rebuilt.

Ideally, assuming this sticks around and gets out of early access from travis, we could then use just travis instead of travis and appveyor.
2019-12-31 17:17:34 -06:00
pentarctagon
21d133828b Add a flatpak travis job.
NOTE: This doesn't sign/upload/etc the output anywhere.
2019-12-31 17:17:34 -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
pentarctagon
a8a5812928 Move travis' dockerfiles to common directory. 2019-11-13 19:48:14 -06:00
Gunter Labes
66e2d53859
Try to fix mac builds by disabling homebrew auto updatin 2019-10-29 17:16:55 +01:00
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