On macOS 10.14 on travis, mounting the dmg template results in the job failing due to hanging indefinitely. This can be revisited when 10.15 is available, or perhaps dmgbuild could be used to add in the background image/ds_store metadata from scratch as well.
The first run of the 2019 jobs will fail, since that run will be used to build and cache the vcpkg dependencies - there's no way to get enough time to build wesnoth and build the dependencies in a single job.
This is meant for moving single files to a single remote directory. Handling anything more complex is not meant to be supported, and currently doesn't work anyway.
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.
When this utility was written, the list of languages was hardcoded in
src/language.cpp, an example of running it is shown in c2e397e07d.
That hardcoded list was removed by 3fbe2a5863 and b5270e41b9.
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.
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.
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.
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.