mirror of https://github.com/OpenRCT2/OpenRCT2.git
Migrate Linux Travis-CI jobs to docker containers
This commit is contained in:
parent
6588a03d73
commit
2e674b9202
10
.travis.yml
10
.travis.yml
|
@ -13,8 +13,10 @@ env:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: linux
|
- os: linux
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
env:
|
env:
|
||||||
- OPENRCT2_CMAKE_OPTS="-DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=OpenRCT2" OPENRCT2_MAKE_OPTS="-j2" TARGET=linux64
|
- OPENRCT2_CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=OpenRCT2" OPENRCT2_MAKE_OPTS="-j2" TARGET=ubuntu_amd64
|
||||||
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
||||||
after_success:
|
after_success:
|
||||||
- cd build
|
- cd build
|
||||||
|
@ -27,8 +29,10 @@ matrix:
|
||||||
else curl --progress-bar --upload-file openrct2-linux.tar.gz https://transfer.sh/openrct2-linux-x86_64.tar.gz -o link && cat link;
|
else curl --progress-bar --upload-file openrct2-linux.tar.gz https://transfer.sh/openrct2-linux-x86_64.tar.gz -o link && cat link;
|
||||||
fi
|
fi
|
||||||
- os: linux
|
- os: linux
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
env:
|
env:
|
||||||
- OPENRCT2_CMAKE_OPTS="-DFORCE32=ON -DDISABLE_RCT2=OFF -DCMAKE_INSTALL_PREFIX=OpenRCT2" TARGET=linux
|
- OPENRCT2_CMAKE_OPTS="-DFORCE32=ON -DDISABLE_RCT2=OFF -DCMAKE_INSTALL_PREFIX=OpenRCT2" TARGET=ubuntu_i686
|
||||||
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
||||||
after_success:
|
after_success:
|
||||||
- cd build
|
- cd build
|
||||||
|
@ -41,7 +45,7 @@ matrix:
|
||||||
else curl --progress-bar --upload-file openrct2-linux.tar.gz https://transfer.sh/openrct2-linux-i686.tar.gz -o link && cat link;
|
else curl --progress-bar --upload-file openrct2-linux.tar.gz https://transfer.sh/openrct2-linux-i686.tar.gz -o link && cat link;
|
||||||
fi
|
fi
|
||||||
- os: linux
|
- os: linux
|
||||||
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" TARGET=linux64
|
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" TARGET=ubuntu_amd64
|
||||||
- os: linux
|
- os: linux
|
||||||
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt -DFORCE32=on" TARGET=windows
|
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt -DFORCE32=on" TARGET=windows
|
||||||
- os: linux
|
- os: linux
|
||||||
|
|
|
@ -20,7 +20,7 @@ if [[ ! -d build ]]; then
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $TARGET != "linux" && $TARGET != "docker32" && $SYSTEM != "Darwin" ]]; then
|
if [[ $TARGET != "ubuntu_i686" && $TARGET != "docker32" && $SYSTEM != "Darwin" ]]; then
|
||||||
sha256sum=f124c954bbd0b58c93e5fba46902806bd3637d3a1c5fb8e4b67441052f182df2
|
sha256sum=f124c954bbd0b58c93e5fba46902806bd3637d3a1c5fb8e4b67441052f182df2
|
||||||
libVFile="./libversion"
|
libVFile="./libversion"
|
||||||
libdir="./lib"
|
libdir="./lib"
|
||||||
|
@ -76,17 +76,30 @@ pushd build
|
||||||
chmod g+s $(pwd)
|
chmod g+s $(pwd)
|
||||||
# CMAKE and MAKE opts from environment
|
# CMAKE and MAKE opts from environment
|
||||||
docker run -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:64bit-only bash -c "cmake ../ -DWITH_TESTS=on $OPENRCT2_CMAKE_OPTS && make $OPENRCT_MAKE_OPTS && make test ARGS=\"-V\""
|
docker run -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:64bit-only bash -c "cmake ../ -DWITH_TESTS=on $OPENRCT2_CMAKE_OPTS && make $OPENRCT_MAKE_OPTS && make test ARGS=\"-V\""
|
||||||
elif [[ $TARGET == "linux" ]]
|
elif [[ $TARGET == "ubuntu_i686" ]]
|
||||||
then
|
then
|
||||||
cmake $OPENRCT2_CMAKE_OPTS .. -DCMAKE_BUILD_TYPE=debug
|
PARENT=$(readlink -f ../)
|
||||||
# NOT the same variable as above
|
chmod a+rwx $(pwd)
|
||||||
# this target also includes building & running of testpaint
|
chmod g+s $(pwd)
|
||||||
make $OPENRCT2_MAKE_OPTS testpaint
|
# CMAKE and MAKE opts from environment
|
||||||
./testpaint --quiet || if [[ $? -eq 1 ]] ; then echo Allowing failed tests to pass ; else false; fi
|
docker run -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:ubuntu_i686 bash -c "cmake ../ -DWITH_TESTS=on $OPENRCT2_CMAKE_OPTS && make all testpaint install $OPENRCT_MAKE_OPTS && make test ARGS=\"-V\" && ( ./testpaint --quiet || if [[ \$? -eq 1 ]] ; then echo Allowing failed tests to pass ; else echo here ; false; fi )"
|
||||||
|
elif [[ $TARGET == "ubuntu_amd64" ]]
|
||||||
|
then
|
||||||
|
PARENT=$(readlink -f ../)
|
||||||
|
chmod a+rwx $(pwd)
|
||||||
|
chmod g+s $(pwd)
|
||||||
|
# CMAKE and MAKE opts from environment
|
||||||
|
docker run -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:ubuntu_amd64 bash -c "cmake ../ -DWITH_TESTS=on $OPENRCT2_CMAKE_OPTS && make $OPENRCT_MAKE_OPTS && make test ARGS=\"-V\""
|
||||||
|
elif [[ $TARGET == "windows" ]]
|
||||||
|
then
|
||||||
|
PARENT=$(readlink -f ../)
|
||||||
|
chmod a+rwx $(pwd)
|
||||||
|
chmod g+s $(pwd)
|
||||||
|
# CMAKE and MAKE opts from environment
|
||||||
|
docker run -v /usr/local/cross-tools/:/usr/local/cross-tools/ -v $PARENT:/work/openrct2 -w /work/openrct2/build -i -t openrct2/openrct2:mingw bash -c "cmake ../ $OPENRCT2_CMAKE_OPTS && make $OPENRCT_MAKE_OPTS"
|
||||||
else
|
else
|
||||||
cmake $OPENRCT2_CMAKE_OPTS ..
|
echo "Unkown target $TARGET"
|
||||||
# NOT the same variable as above
|
exit 1
|
||||||
make $OPENRCT2_MAKE_OPTS
|
|
||||||
fi
|
fi
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
@ -100,7 +113,7 @@ if [[ ! -h build/data ]]; then
|
||||||
ln -s ../data build/data
|
ln -s ../data build/data
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $TARGET == "linux" ]] || [[ $TARGET == "docker32" ]]; then
|
if [[ $TARGET == "ubuntu_i686" ]] || [[ $TARGET == "docker32" ]]; then
|
||||||
if [[ ! -h openrct2 ]]; then
|
if [[ ! -h openrct2 ]]; then
|
||||||
ln -s build/openrct2 openrct2
|
ln -s build/openrct2 openrct2
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -18,8 +18,8 @@ else
|
||||||
fi
|
fi
|
||||||
mkdir -p "$cachedir"
|
mkdir -p "$cachedir"
|
||||||
|
|
||||||
# Sets default target to "linux", if none specified
|
# Sets default target to "ubuntu_amd64", if none specified
|
||||||
TARGET=${TARGET-linux}
|
TARGET=${TARGET-ubuntu_amd64}
|
||||||
# keep in sync with version in build.sh
|
# keep in sync with version in build.sh
|
||||||
libversion=3
|
libversion=3
|
||||||
libVFile="./libversion"
|
libVFile="./libversion"
|
||||||
|
@ -170,20 +170,14 @@ elif [[ $(uname) == "Linux" ]]; then
|
||||||
else
|
else
|
||||||
# prevent build.sh from re-doing all the steps again
|
# prevent build.sh from re-doing all the steps again
|
||||||
case "$TARGET" in
|
case "$TARGET" in
|
||||||
"linux")
|
"ubuntu_i686")
|
||||||
sudo dpkg --add-architecture i386
|
docker pull openrct2/openrct2:ubuntu_i686
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev:i386 libsdl2-ttf-dev:i386 gcc-4.8 pkg-config:i386 g++-4.8-multilib gcc-4.8-multilib libjansson-dev:i386 libspeex-dev:i386 libspeexdsp-dev:i386 libcurl4-openssl-dev:i386 libcrypto++-dev:i386 clang libfontconfig1-dev:i386 libfreetype6-dev:i386 libpng-dev:i386
|
|
||||||
sudo apt-get install -f
|
|
||||||
;;
|
;;
|
||||||
"linux64")
|
"ubuntu_amd64")
|
||||||
sudo apt-get update
|
docker pull openrct2/openrct2:ubuntu_amd64
|
||||||
sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev libsdl2-ttf-dev gcc-4.8 pkg-config g++ gcc libjansson-dev libspeex-dev libspeexdsp-dev libcurl4-openssl-dev libcrypto++-dev libfontconfig1-dev libfreetype6-dev libpng-dev
|
|
||||||
sudo apt-get install -f
|
|
||||||
;;
|
;;
|
||||||
"windows")
|
"windows")
|
||||||
sudo apt-get update
|
docker pull openrct2/openrct2:mingw
|
||||||
sudo apt-get install -y --force-yes binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 cmake
|
|
||||||
;;
|
;;
|
||||||
"docker32")
|
"docker32")
|
||||||
docker pull openrct2/openrct2:32bit-only
|
docker pull openrct2/openrct2:32bit-only
|
||||||
|
|
|
@ -22,6 +22,7 @@ ExternalProject_Add(
|
||||||
DEPENDS googletest-distribution
|
DEPENDS googletest-distribution
|
||||||
DOWNLOAD_COMMAND ""
|
DOWNLOAD_COMMAND ""
|
||||||
SOURCE_DIR "${GOOGLETEST_DISTRIB_SOURCE_DIR}/googletest"
|
SOURCE_DIR "${GOOGLETEST_DISTRIB_SOURCE_DIR}/googletest"
|
||||||
|
CMAKE_ARGS "-DCMAKE_CXX_FLAGS=${TARGET_M}"
|
||||||
# Disable install step
|
# Disable install step
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
# Wrap download, configure and build steps in a script to log output
|
# Wrap download, configure and build steps in a script to log output
|
||||||
|
@ -76,4 +77,4 @@ set(LANGUAGEPACK_TEST_SOURCES
|
||||||
)
|
)
|
||||||
add_executable(test_languagepack ${LANGUAGEPACK_TEST_SOURCES})
|
add_executable(test_languagepack ${LANGUAGEPACK_TEST_SOURCES})
|
||||||
target_link_libraries(test_languagepack ${GTEST_LIBRARIES} dl z SDL2 SDL2_ttf ssl crypto)
|
target_link_libraries(test_languagepack ${GTEST_LIBRARIES} dl z SDL2 SDL2_ttf ssl crypto)
|
||||||
add_test(NAME languagepack COMMAND test_languagepack)
|
add_test(NAME languagepack COMMAND test_languagepack)
|
||||||
|
|
Loading…
Reference in New Issue