diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cd7678899..191b9c436 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,6 +90,7 @@ Linux client build: paths: - khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run + Linux server debian_amd64_strech build: stage: build except: @@ -241,6 +242,8 @@ Linux client debian_amd64_strech build: paths: - code/build/bin expire_in: 2 week + when: manual + Linux client_static debian_amd64_strech build: stage: build @@ -341,7 +344,7 @@ Linux client_static debian_amd64_strech build: - cd .. # Action - mkdir -p code/build - - (cd code/build ; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=OFF -DWITH_RYZOM_CUSTOM_PATCH_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON ..) + - (cd code/build ; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=ON -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON ..) - (cd code/build; make khanat_client) - (cd code/build/bin; ls -lh) artifacts: @@ -350,6 +353,7 @@ Linux client_static debian_amd64_strech build: - code/build/bin expire_in: 2 week + Linux server_static debian_amd64_strech build: stage: build except: @@ -440,6 +444,98 @@ Linux server_static debian_amd64_strech build: - code/ryzom/tools/scripts/linux expire_in: 2 week + +Linux server_static_debug debian_amd64_strech build: + stage: build + except: + - mac-ci-build + tags: + - Docker + image: amd64/debian:9 + script: + # Prepare environment + - apt-get update + - apt-get dist-upgrade -y + - DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 apache2-utils autoconf autogen automake bison build-essential cmake cpputest default-libmysqlclient-dev fakeroot git libapache2-mod-php libboost-all-dev libfreetype6-dev libgif-dev libgl1-mesa-dev libjpeg62-turbo-dev liblua5.2-0 liblua5.2-dev liblzma-dev libogg-dev libopenal-dev libpng-dev libssh2-1-dev libssl-dev libtool libtool-bin libvorbis-dev libx11-dev libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxxf86vm-dev mercurial mysql-server php php-gd php-imagick php-mysql python3 python3-pip python3-bcrypt python3-venv rrdtool unzip wget zlib1g-dev + # Apply patch + - (for patchfile in $(cat patch/series); do if ! patch -Z -t -R -s -f --dry-run -p 1 -i patch/$patchfile; then patch -f -Z -t -p 1 -i patch/$patchfile || exit 2 ; fi;done) + # Build Curl + - wget -q https://curl.haxx.se/download/curl-7.58.0.tar.gz -O curl.tar.gz + - mkdir -p curl/build + - tar xvf curl.tar.gz -C curl --strip 1 + - (cd curl/build; cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_CURL_TESTS=OFF -DCURL_ZLIB=ON -DBUILD_CURL_EXE=OFF -DCURL_STATICLIB=ON -DHTTP_ONLY=ON -DENABLE_IPV6=ON -DCMAKE_USE_OPENSSL=ON -DOPENSSL_SSL_LIBRARIES=/usr/lib/x86_64-linux-gnu/libssl.a -DOPENSSL_CRYPTO_LIBRARIES=/usr/lib/x86_64-linux-gnu/libcrypto.a -DCMAKE_USE_LIBSSH2=OFF -DZLIB_LIBRARY=/usr/lib/x86_64-linux-gnu/libz.a -DCMAKE_C_FLAGS='-fPIC' ..) + - (cd curl/build; make) + - (cd curl/build; make install) + # Build luabind + - mkdir -p luabind + - wget -q http://http.debian.net/debian/pool/main/l/luabind/luabind_0.9.1+dfsg.orig.tar.gz -O luabind.tar.gz + - wget -q http://http.debian.net/debian/pool/main/l/luabind/luabind_0.9.1+dfsg-11.debian.tar.xz -O luabind-debian.tar.xz + - tar xvf luabind.tar.gz -C luabind --strip 1 || exit 2 + - tar xvf luabind-debian.tar.xz -C luabind || exit 2 + - cd luabind + - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done + - export -p DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH); bjam -d2 release debug install cflags="-fPIC $(dpkg-buildflags --get CFLAGS)" cxxflags="-fPIC $(dpkg-buildflags --get CXXFLAGS) -Wno-deprecated-declarations" linkflags=" $(dpkg-buildflags --get LDFLAGS)" + - export -p DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH); bjam -d2 release debug install link=static cflags="-fPIC $(dpkg-buildflags --get CFLAGS)" cxxflags="-fPIC $(dpkg-buildflags --get CXXFLAGS) -Wno-deprecated-declarations" linkflags=" $(dpkg-buildflags --get LDFLAGS)" + - cd .. + # Build libogg + - mkdir -p libogg/build + - wget -q http://http.debian.net/debian/pool/main/libo/libogg/libogg_1.3.2.orig.tar.gz -O libogg.tar.gz + - wget -q http://http.debian.net/debian/pool/main/libo/libogg/libogg_1.3.2-1.diff.gz -O libogg.diff.gz + - tar xvf libogg.tar.gz -C libogg --strip 1 || exit 2 + - gunzip libogg.diff.gz + - cd libogg + - patch -p1 < ../libogg.diff + - cd build + - ../configure --disable-maintainer-mode --host=$(dpkg-architecture -qDEB_HOST_GNU_TYPE) --build=$(dpkg-architecture -qDEB_BUILD_GNU_TYPE) --libdir=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) --enable-static --prefix=/usr CPPFLAGS="-D_FORTIFY_SOURCE=2" CFLAGS="-Wformat=2 -g -fPIC" CXXFLAGS="-Wformat=2 -g -fPIC" LDFLAGS="-Wl,-z,now" + - make + - make install + - cd ../.. + # Build libvorbis + - mkdir -p libvorbis + - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz + - tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2 + # Get list package + - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis -O list_libvorbis + # get last patch for our release + - line=$(egrep '(libvorbis_1.3.5)(.*)(tar[.]xz)' list_libvorbis | tail -n 1) + # get only name of the patch + - tmp=${line#*href} ; tmp2=${tmp%%>*} ; tmp3=${tmp2#*\"} ; namepatch=${tmp3%\"*} + # download this patch + - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/$namepatch -O libvorbis.debian.tar.xz + - tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2 + - cd libvorbis + - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done + - ./configure --enable-static --with-pic + - make + - make install + - cd .. + # Action + - mkdir -p code/build + - (cd code/build ; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_SYMBOLS=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF ..) + - ls -l code + - ls -l code/build + - (cd code/build; make ryzom_admin_service ryzom_ai_service ryzom_backup_service ryzom_dynamic_scenario_service ryzom_entities_game_service ryzom_frontend_service ryzom_general_utilities_service ryzom_gpm_service ryzom_ios_service ryzom_log_analyser_service ryzom_logger_service ryzom_mail_forum_service ryzom_mirror_service ryzom_mission_compiler ryzom_monitor_service ryzom_naming_service ryzom_patchman_service ryzom_pd_support_service ryzom_persistant_data_service ryzom_reference_builder_service ryzom_session_browser_service ryzom_shard_unifier_service ryzom_tick_service ryzom_welcome_service sheets_packer bnp_make make_sheet_id patch_gen) + - (cd code/build/bin; ls -lh) + artifacts: + name: "khanat-server_static_debug-debian_amd64_strech-$CI_COMMIT_REF_NAME" + paths: + - code/build/bin + - code/ryzom/server/shard.screen.rc + - code/web + - code/ryzom/server/*.cfg + - code/ryzom/server/data_shard + - code/ryzom/common/data_common + - code/ryzom/common/data_leveldesign + - code/ryzom/client/*.cfg + - code/ryzom/client/cfg + - code/ryzom/client/data + - code/ryzom/client/macosx + - code/ryzom/client/unix + - code/ryzom/client/windows + - code/ryzom/tools/scripts/linux + expire_in: 2 week + + Linux client_static debian_i386_strech build: stage: build except: @@ -507,7 +603,7 @@ Linux client_static debian_i386_strech build: - cd .. # Action - mkdir -p code/build - - (cd code/build ; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=OFF -DWITH_RYZOM_CUSTOM_PATCH_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON ..) + - (cd code/build ; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF ..) - (cd code/build; make khanat_client) - (cd code/build/bin; ls -lh) artifacts: @@ -516,6 +612,7 @@ Linux client_static debian_i386_strech build: - code/build/bin expire_in: 2 week + # Fedora Client Linux client fedora_amd64_27 build: stage: build @@ -579,6 +676,8 @@ Linux client fedora_amd64_27 build: paths: - code/build/bin expire_in: 2 week + when: manual + # Ubuntu Client Linux client ubuntu_amd64_17_10 build: @@ -637,6 +736,8 @@ Linux client ubuntu_amd64_17_10 build: paths: - code/build/bin expire_in: 2 week + when: manual + # Archlinux Client Linux client archlinux build: @@ -731,11 +832,10 @@ Linux client archlinux build: paths: - code/build/bin expire_in: 2 week + when: manual -# Gentoo Client # Windows Client - Windows client build: stage: build except: @@ -776,6 +876,7 @@ Windows client build: - build/bin expire_in: 2 week + # Job de compilation pour OSX OSX client build: stage: build @@ -800,9 +901,9 @@ OSX client build: paths: - OSX/x86_64/* when: manual - -## TESTS + +## TESTS Linux client test: stage: test except: