Add VS2019 jobs to travis.

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 commit is contained in:
Pentarctagon 2020-03-17 23:25:19 -05:00 committed by Pentarctagon
parent f4836a699e
commit 111e327e7b
4 changed files with 61 additions and 18 deletions

View file

@ -11,6 +11,9 @@ cache:
- $HOME/flatpak-cache
- $TRAVIS_BUILD_DIR/projectfiles/VC14/Debug
- $TRAVIS_BUILD_DIR/projectfiles/VC14/Release
- $TRAVIS_BUILD_DIR/projectfiles/VC16/Debug
- $TRAVIS_BUILD_DIR/projectfiles/VC16/Release
- $HOME/vcpkg
git:
depth: 5
@ -22,10 +25,16 @@ env:
matrix:
include:
- os: windows
env: TOOL=msbuild NLS=false BRANCH=master CFG=Debug UPLOAD=true
env: TOOL=msbuild NLS=false IMAGE=VC14 BRANCH=master CFG=Debug UPLOAD=true
- os: windows
env: TOOL=msbuild NLS=false BRANCH=master CFG=Release
env: TOOL=msbuild NLS=false IMAGE=VC14 BRANCH=master CFG=Release
# - os: windows
# env: TOOL=msbuild NLS=false IMAGE=VC16 BRANCH=master CFG=Debug UPLOAD=true
- os: windows
env: TOOL=msbuild NLS=false IMAGE=VC16 BRANCH=master CFG=Release
- os: osx
compiler: clang
@ -39,7 +48,7 @@ matrix:
env: TOOL=scons CXXSTD=14 NLS=only IMAGE=1804 BRANCH=master CFG=release
- env: TOOL=scons CXXSTD=14 NLS=true IMAGE=mingw BRANCH=master CFG=release STRICT=false UPLOAD=true
- env: TOOL=scons CXXSTD=14 NLS=false IMAGE=steamrt BRANCH=master CFG=release CC=gcc-5 CXX=g++-5
- env: TOOL=scons NLS=true IMAGE=flatpak BRANCH=master

View file

@ -22,6 +22,7 @@ Global
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.Debug|Win64.ActiveCfg = Debug|x64
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.Debug|Win64.Build.0 = Debug|x64
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.Release|Win64.ActiveCfg = Release|x64
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.Release|Win64.Build.0 = Release|x64
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.ReleaseDEBUG|Win64.ActiveCfg = ReleaseDEBUG|x64
@ -31,6 +32,7 @@ Global
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.Test_Release|Win64.ActiveCfg = Test_Release|x64
{65ACA13F-5F5C-4768-A89A-ECF6C16F1512}.Test_Release|Win64.Build.0 = Test_Release|x64
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.Debug|Win64.ActiveCfg = Debug|x64
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.Debug|Win64.Build.0 = Debug|x64
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.Release|Win64.ActiveCfg = Release|x64
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.Release|Win64.Build.0 = Release|x64
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.ReleaseDEBUG|Win64.ActiveCfg = ReleaseDEBUG|x64
@ -40,6 +42,7 @@ Global
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.Test_Release|Win64.ActiveCfg = Release|x64
{72F28A4A-A6A2-4C49-8141-7CD0DFA9ECCE}.Test_Release|Win64.Build.0 = Release|x64
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.Debug|Win64.ActiveCfg = Debug|x64
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.Debug|Win64.Build.0 = Debug|x64
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.Release|Win64.ActiveCfg = Release|x64
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.Release|Win64.Build.0 = Release|x64
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.ReleaseDEBUG|Win64.ActiveCfg = ReleaseDEBUG|x64
@ -49,6 +52,7 @@ Global
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.Test_Release|Win64.ActiveCfg = Release|x64
{4A16638B-127B-4AE8-8E0B-4B211B96F976}.Test_Release|Win64.Build.0 = Release|x64
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.Debug|Win64.ActiveCfg = Debug|x64
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.Debug|Win64.Build.0 = Debug|x64
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.Release|Win64.ActiveCfg = Release|x64
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.Release|Win64.Build.0 = Release|x64
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.ReleaseDEBUG|Win64.ActiveCfg = ReleaseDEBUG|x64
@ -58,6 +62,7 @@ Global
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.Test_Release|Win64.ActiveCfg = Release|x64
{01AE7104-A4B1-428E-BA7C-460FE656AE5C}.Test_Release|Win64.Build.0 = Release|x64
{DEACBC05-182F-4D9B-A31C-B9A9098DFAAD}.Debug|Win64.ActiveCfg = Debug|x64
{DEACBC05-182F-4D9B-A31C-B9A9098DFAAD}.Debug|Win64.Build.0 = Debug|x64
{DEACBC05-182F-4D9B-A31C-B9A9098DFAAD}.Release|Win64.ActiveCfg = Release|x64
{DEACBC05-182F-4D9B-A31C-B9A9098DFAAD}.Release|Win64.Build.0 = Release|x64
{DEACBC05-182F-4D9B-A31C-B9A9098DFAAD}.ReleaseDEBUG|Win64.ActiveCfg = Release|x64

View file

@ -19,7 +19,7 @@ if [ "$LTO" == "" ]; then
fi
if [ "$UPLOAD" == "true" ]; then
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
if [ "$TRAVIS_OS_NAME" != "osx" ]; then
export UPLOAD_ID="${TRAVIS_OS_NAME}-${IMAGE}-${TOOL}-${CFG}"
else
export UPLOAD_ID="${TRAVIS_OS_NAME}-${TOOL}-${CFG}"
@ -36,27 +36,25 @@ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
export CCACHE_COMPILERCHECK=content
travis_wait ./projectfiles/Xcode/Fix_Xcode_Dependencies
elif [ "$TRAVIS_OS_NAME" = "windows" ]; then
start=`pwd`
choco install sqlite
choco install python --version=3.6.8
if [ "$IMAGE" == "VC16" ]; then
choco install visualstudio2019community --package-parameters "--includeRecommended --includeOptional"
choco install visualstudio2019-workload-vctools
fi
cd /c/Python36
ln -s python.exe python3.exe
cd $start
cd ..
wget https://github.com/aquileia/external/archive/VC15.zip -O VC15.zip
7z x VC15.zip
mv external-VC15 external
cd $start
export PATH="/c/Python36:"$PATH":$start/../external/dll:/c/Python36/Scripts/"
export PATH="/c/Python36:"$PATH":/c/Python36/Scripts/"
yes | pip3 install paramiko
if [ "$(which python3)" == "" ] || [ "$(which sqlite3)" == "" ] || [ ! -d "../external" ]; then
if [ "$(which python3)" == "" ] || [ "$(which sqlite3)" == "" ]; then
echo "Failed to retrieve dependencies!"
exit 1
else
echo "Dependencies retrieved and installed!"
fi
./utils/travis/windows-file-hasher.sh "projectfiles/VC14/$CFG/filehashes.sqlite"
cd $TRAVIS_BUILD_DIR
./utils/travis/windows-file-hasher.sh "projectfiles/$IMAGE/$CFG/filehashes.sqlite"
else
# if not doing translations, save a bit of time by not copying them into the docker image
# otherwise, if this is the mingw job, the .git directory is needed for running the git archive command

View file

@ -22,8 +22,39 @@ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
exit $BUILD_RET
elif [ "$TRAVIS_OS_NAME" = "windows" ]; then
cmd.exe //C 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat' x86 '&&' MSBuild.exe projectfiles/VC14/wesnoth.sln -p:Configuration=$CFG -p:Platform=Win32
BUILD_RET=$?
if [ "$IMAGE" == "VC16" ]; then
if [ ! -d "$HOME/vcpkg/installed" ]; then
cd "$HOME"
git clone --depth=1 https://github.com/microsoft/vcpkg.git vcpkg
cd vcpkg
cmd.exe //C bootstrap-vcpkg.bat
cmd.exe //C 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat' amd64 '&&' vcpkg integrate install
echo "set(VCPKG_BUILD_TYPE release)" >> triplets/x64-windows.cmake
alias make="make -j4"
./vcpkg install sdl2:x64-windows sdl2-image:x64-windows sdl2-mixer:x64-windows sdl2-ttf:x64-windows bzip2:x64-windows zlib:x64-windows pango:x64-windows cairo:x64-windows fontconfig:x64-windows libvorbis:x64-windows libogg:x64-windows boost-filesystem:x64-windows boost-iostreams:x64-windows boost-locale:x64-windows boost-random:x64-windows boost-regex:x64-windows boost-asio:x64-windows boost-program-options:x64-windows boost-system:x64-windows boost-thread:x64-windows boost-bimap:x64-windows boost-multi-array:x64-windows boost-ptr-container:x64-windows boost-logic:x64-windows boost-format:x64-windows
rm -R downloads
rm -R buildtrees
echo "Built dependencies, exiting now to cache them. Please restart the job."
exit 1
else
cd "$HOME/vcpkg"
cmd.exe //C 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat' amd64 '&&' vcpkg integrate install
fi
cd $TRAVIS_BUILD_DIR
cmd.exe //C 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat' amd64 '&&' MSBuild.exe projectfiles/$IMAGE/wesnoth.sln -p:Configuration=$CFG -p:Platform=Win64
BUILD_RET=$?
else
cd ..
wget https://github.com/aquileia/external/archive/VC15.zip -O VC15.zip
7z x VC15.zip
mv external-VC15 external
cd $TRAVIS_BUILD_DIR
export PATH=$PATH":$TRAVIS_BUILD_DIR/../external/dll"
cmd.exe //C 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat' x86 '&&' MSBuild.exe projectfiles/$IMAGE/wesnoth.sln -p:Configuration=$CFG -p:Platform=Win32
BUILD_RET=$?
fi
if [ "$UPLOAD_ID" != "" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
./utils/travis/sftp wesnoth.exe wesnothd.exe
@ -33,9 +64,9 @@ elif [ "$TRAVIS_OS_NAME" = "windows" ]; then
fi
if [ "$BUILD_RET" != "0" ]; then
sqlite3 "projectfiles/VC14/$CFG/filehashes.sqlite" "update FILES set MD5 = OLD_MD5, OLD_MD5 = '-' where OLD_MD5 != '-'"
sqlite3 "projectfiles/$IMAGE/$CFG/filehashes.sqlite" "update FILES set MD5 = OLD_MD5, OLD_MD5 = '-' where OLD_MD5 != '-'"
else
sqlite3 "projectfiles/VC14/$CFG/filehashes.sqlite" "update FILES set OLD_MD5 = '-' where OLD_MD5 != '-'"
sqlite3 "projectfiles/$IMAGE/$CFG/filehashes.sqlite" "update FILES set OLD_MD5 = '-' where OLD_MD5 != '-'"
fi
if [ "$CFG" == "Release" ] && [ "$BUILD_RET" == "0" ]; then