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:
|
||||
include:
|
||||
- os: linux
|
||||
services:
|
||||
- docker
|
||||
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="
|
||||
after_success:
|
||||
- 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;
|
||||
fi
|
||||
- os: linux
|
||||
services:
|
||||
- docker
|
||||
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="
|
||||
after_success:
|
||||
- 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;
|
||||
fi
|
||||
- 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
|
||||
env: OPENRCT2_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt -DFORCE32=on" TARGET=windows
|
||||
- os: linux
|
||||
|
|
|
@ -20,7 +20,7 @@ if [[ ! -d build ]]; then
|
|||
mkdir -p build
|
||||
fi
|
||||
|
||||
if [[ $TARGET != "linux" && $TARGET != "docker32" && $SYSTEM != "Darwin" ]]; then
|
||||
if [[ $TARGET != "ubuntu_i686" && $TARGET != "docker32" && $SYSTEM != "Darwin" ]]; then
|
||||
sha256sum=f124c954bbd0b58c93e5fba46902806bd3637d3a1c5fb8e4b67441052f182df2
|
||||
libVFile="./libversion"
|
||||
libdir="./lib"
|
||||
|
@ -76,17 +76,30 @@ pushd build
|
|||
chmod g+s $(pwd)
|
||||
# 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\""
|
||||
elif [[ $TARGET == "linux" ]]
|
||||
elif [[ $TARGET == "ubuntu_i686" ]]
|
||||
then
|
||||
cmake $OPENRCT2_CMAKE_OPTS .. -DCMAKE_BUILD_TYPE=debug
|
||||
# NOT the same variable as above
|
||||
# this target also includes building & running of testpaint
|
||||
make $OPENRCT2_MAKE_OPTS testpaint
|
||||
./testpaint --quiet || if [[ $? -eq 1 ]] ; then echo Allowing failed tests to pass ; else false; fi
|
||||
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_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
|
||||
cmake $OPENRCT2_CMAKE_OPTS ..
|
||||
# NOT the same variable as above
|
||||
make $OPENRCT2_MAKE_OPTS
|
||||
echo "Unkown target $TARGET"
|
||||
exit 1
|
||||
fi
|
||||
popd
|
||||
|
||||
|
@ -100,7 +113,7 @@ if [[ ! -h build/data ]]; then
|
|||
ln -s ../data build/data
|
||||
fi
|
||||
|
||||
if [[ $TARGET == "linux" ]] || [[ $TARGET == "docker32" ]]; then
|
||||
if [[ $TARGET == "ubuntu_i686" ]] || [[ $TARGET == "docker32" ]]; then
|
||||
if [[ ! -h openrct2 ]]; then
|
||||
ln -s build/openrct2 openrct2
|
||||
fi
|
||||
|
|
|
@ -18,8 +18,8 @@ else
|
|||
fi
|
||||
mkdir -p "$cachedir"
|
||||
|
||||
# Sets default target to "linux", if none specified
|
||||
TARGET=${TARGET-linux}
|
||||
# Sets default target to "ubuntu_amd64", if none specified
|
||||
TARGET=${TARGET-ubuntu_amd64}
|
||||
# keep in sync with version in build.sh
|
||||
libversion=3
|
||||
libVFile="./libversion"
|
||||
|
@ -170,20 +170,14 @@ elif [[ $(uname) == "Linux" ]]; then
|
|||
else
|
||||
# prevent build.sh from re-doing all the steps again
|
||||
case "$TARGET" in
|
||||
"linux")
|
||||
sudo dpkg --add-architecture i386
|
||||
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
|
||||
"ubuntu_i686")
|
||||
docker pull openrct2/openrct2:ubuntu_i686
|
||||
;;
|
||||
"linux64")
|
||||
sudo apt-get update
|
||||
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
|
||||
"ubuntu_amd64")
|
||||
docker pull openrct2/openrct2:ubuntu_amd64
|
||||
;;
|
||||
"windows")
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --force-yes binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 cmake
|
||||
docker pull openrct2/openrct2:mingw
|
||||
;;
|
||||
"docker32")
|
||||
docker pull openrct2/openrct2:32bit-only
|
||||
|
|
|
@ -22,6 +22,7 @@ ExternalProject_Add(
|
|||
DEPENDS googletest-distribution
|
||||
DOWNLOAD_COMMAND ""
|
||||
SOURCE_DIR "${GOOGLETEST_DISTRIB_SOURCE_DIR}/googletest"
|
||||
CMAKE_ARGS "-DCMAKE_CXX_FLAGS=${TARGET_M}"
|
||||
# Disable install step
|
||||
INSTALL_COMMAND ""
|
||||
# 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})
|
||||
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