From 0d32623395d1ffd61ce4da788ecffc2d081108fb Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Wed, 28 Aug 2019 00:13:40 +0200 Subject: [PATCH 01/15] Disable automatic build for 'Linux client build' use debian jessie Adding build for debian buster - Linux server debian_amd64_buster build - Linux client debian_amd64_buster build - Linux client_appimage debian_amd64_buster build Update build client windows --- .gitlab-ci.yml | 293 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 270 insertions(+), 23 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9417c1f17..c424b04fe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,7 +19,10 @@ # gitlab-runner exec docker --timeout=3600 'Linux client build' # gitlab-runner exec docker --timeout=3600 'Linux server debian_amd64_strech build' # gitlab-runner exec docker --timeout=3600 'Linux server_static debian_amd64_strech build' +# gitlab-runner exec docker --timeout=3600 'Linux server debian_amd64_buster build' # gitlab-runner exec docker --timeout=3600 'Linux client debian_amd64_strech build' +# gitlab-runner exec docker --timeout=3600 --docker-volumes $PWD/builds:/builds 'Linux client debian_amd64_buster build' +# gitlab-runner exec docker --timeout=3600 --docker-volumes $PWD/builds:/builds 'Linux client_appimage debian_amd64_buster build' # gitlab-runner exec docker --timeout=3600 'Linux client_static debian_amd64_strech build' # gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client build' # gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client archlinux build' @@ -54,7 +57,7 @@ Linux client build: #- echo "deb http://ftp.debian.org/debian/ jessie-backports non-free contrib main" >> /etc/apt/sources.list - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get upgrade -y - - DEBIAN_FRONTEND=noninteractive apt-get install libxml2 -y g++ gcc cmake libcurl4-openssl-dev libgl1-mesa-dev libjpeg-dev libpng-dev libopenal-dev libfreetype6-dev libxxf86vm-dev libxrandr-dev libxrender-dev libvorbis-dev libluabind-dev libboost-dev libmysqlclient-dev libssl-dev liblzma-dev libxml2-dev makeself libgif-dev patch + - DEBIAN_FRONTEND=noninteractive apt-get install -y libxml2 libboost1.55-tools-dev dpkg-dev g++ gcc cmake libcurl4-openssl-dev libgl1-mesa-dev libjpeg-dev libpng-dev libopenal-dev libfreetype6-dev libxxf86vm-dev libxrandr-dev libxrender-dev libvorbis-dev libluabind-dev libboost-dev libmysqlclient-dev libssl-dev liblzma-dev libxml2-dev makeself libgif-dev patch xz-utils # Installation des dépendances des dépendances statiques (à commenter si construction de Khanat en mode dynamique) # libxml2 : python-pyicu (support d'unicode), python-dev (support de... python) - apt-get install -y wget python-pyicu python-dev @@ -65,19 +68,19 @@ Linux client build: - cd BUILD/x86_64 ## Le curl des dépots a trop de dépendances en statique. On le recompile donc, afin d'aléger l'executable # Téléchargement et décompression des dépendances à recompiller - - wget -c http://curl.haxx.se/download/curl-7.50.0.tar.gz - - tar xzf curl-7.50.0.tar.gz - # Compilation de curl - - cd curl-7.50.0 - - ./configure --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-ipv6 --disable-crypto-auth --disable-sspi --disable-tls-srp --without-gnutls --without-librtmp --without-libidn --disable-versioned-symbols --disable-pop3 --without-libssh2 --with-ssl - - make install $optionproc - - cd .. + - 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 -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 -j) + - (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 + - xz -d luabind-debian.tar.xz + - tar xvf luabind-debian.tar -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)" @@ -93,7 +96,7 @@ Linux client build: - 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 -j - make install - cd ../.. # Build libvorbis @@ -112,7 +115,7 @@ Linux client build: - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done - ./configure --enable-static --with-pic - - make + - make -j - make install - cd .. ## Compilation de Khanat @@ -132,6 +135,7 @@ Linux client build: name: "khanat-$(echo $CI_BUILD_REF | head -c 7)-$CI_PIPELINE_ID-Linux-x86_64" paths: - khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run + when: manual Linux server debian_amd64_strech build: @@ -525,7 +529,7 @@ Linux server_static debian_amd64_strech build: - 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 -j) - (cd curl/build; make install) # Build luabind - mkdir -p luabind @@ -548,7 +552,7 @@ Linux server_static debian_amd64_strech build: - 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 -j - make install - cd ../.. # Build libvorbis @@ -567,7 +571,7 @@ Linux server_static debian_amd64_strech build: - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done - ./configure --enable-static --with-pic - - make + - make -j - make install - cd .. # Action @@ -575,7 +579,7 @@ Linux server_static debian_amd64_strech 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=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; make -j 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-debian_amd64_strech-$CI_COMMIT_REF_NAME" @@ -1065,6 +1069,251 @@ Linux client archlinux build: when: manual +Linux server debian_amd64_buster build: + stage: build + except: + - mac-ci-build + tags: + - Docker + image: amd64/debian:10 + script: + # Prepare environment + - DEBIAN_FRONTEND=noninteractive apt-get update + - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y + - DEBIAN_FRONTEND=noninteractive apt-get install -y default-mysql-server + git + libcurl4-openssl-dev + libfreetype6-dev + libx11-dev + libgl1-mesa-dev + libxxf86vm-dev + libxrandr-dev + libxrender-dev + libopenal-dev + libxml2-dev + cmake + build-essential + libpng-dev + libjpeg62-turbo-dev + rrdtool + bison + libxmu-dev + autoconf + automake + default-libmysqlclient-dev + libgif-dev + cpputest + libssl-dev + liblzma-dev + unzip + zlib1g-dev + libssh2-1-dev + libboost-all-dev + libopenal-dev + libgl1-mesa-dev + mercurial + wget + autogen + libtool + libtool-bin + fakeroot + libxml2-dev + patch + - apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 + # Apply patch + - (for patchfile in $(cat patch/series); do echo "patch patch/$patchfile"; patch -f -Z -t -p 1 -i patch/$patchfile || exit 2; done) + # install squish + - mkdir -p squish + - (cd squish; wget -c https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libsquish/squish-1.11.zip) + - (cd squish; unzip squish-1.11.zip) + - (cd squish/squish-1.11; patch -i ../../patch/squish-limit.patch) + - (cd squish/squish-1.11; make) + - (cd squish/squish-1.11; make install) + # Action + - mkdir -p code/build + - (cd code/build ; cmake -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=OFF ..) + - (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-debian_buster-$CI_COMMIT_REF_NAME" + paths: + - code/build/bin + - code/build/lib + - 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 + when: manual + + +Linux client debian_amd64_buster build: + stage: build + except: + - mac-ci-build + tags: + - Docker + image: amd64/debian:10 + script: + # Prepare environment + - DEBIAN_FRONTEND=noninteractive apt-get update + - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y + - apt-get install -y autoconf + autogen + automake + bison + build-essential + cmake + cpputest + fakeroot + libboost-all-dev + libfreetype6-dev + libgif-dev + libgl1-mesa-dev + libjpeg62-turbo-dev + liblzma-dev + libopenal-dev + libpng-dev + libssh2-1-dev + libssl-dev + libtool + libtool-bin + libx11-dev + libxml2-dev + libxmu-dev + libxrandr-dev + libxrender-dev + libxxf86vm-dev + mercurial + rrdtool + unzip + wget + zlib1g-dev + patch + - apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 libogg-dev libvorbis-dev + # Apply patch + - (for patchfile in $(cat patch/series); do echo "patch patch/$patchfile"; patch -f -Z -t -p 1 -i patch/$patchfile || exit 2; 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 -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) + # Action + - mkdir -p code/build + - (cd code/build ; cmake -DWITH_NEL=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; make khanat_client) + - (cd code/build/bin; ls -lh) + artifacts: + name: "khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + paths: + - code/build/bin +# expire_in: 2 week + when: manual + + + +Linux client_appimage debian_amd64_buster build: + stage: build + except: + - mac-ci-build + tags: + - Docker + image: amd64/debian:10 + script: + # Prepare environment + - DEBIAN_FRONTEND=noninteractive apt-get update + - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y + - apt-get install -y autoconf + autogen + automake + bison + build-essential + cmake + cpputest + fakeroot + libboost-all-dev + libfreetype6-dev + libgif-dev + libgl1-mesa-dev + libjpeg62-turbo-dev + liblzma-dev + libopenal-dev + libpng-dev + libssh2-1-dev + libssl-dev + libtool + libtool-bin + libx11-dev + libxml2-dev + libxmu-dev + libxrandr-dev + libxrender-dev + libxxf86vm-dev + mercurial + rrdtool + unzip + wget + zlib1g-dev + patch + - apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 libogg-dev libvorbis-dev + # libavcodec-dev libavformat-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libpostproc-dev + # Install AppImage / LinuxDeploy + - mkdir -p appimage + - wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -O appimage/linuxdeploy-x86_64.AppImage + - (cd appimage; chmod +x linuxdeploy-x86_64.AppImage; ./linuxdeploy-x86_64.AppImage --appimage-extract) + # Apply patch + - (for patchfile in $(cat patch/series); do echo "patch patch/$patchfile"; patch -f -Z -t -p 1 -i patch/$patchfile || exit 2; 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 -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 -j) + - (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 --prefix=/usr 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 --prefix=/usr 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 .. + # Action + # / -DWITH_NEL=ON -DWITH_TOOLS=OFF -DWITH_STUDIO=OFF + - mkdir -p code/build + #- (cd code/build ; cmake -DCMAKE_INSTALL_PREFIX=/usr -DWITH_INSTALL_LIBRARIES=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL=ON -DWITH_NEL_TOOLS=OFF -DWITH_TOOLS=OFF -DWITH_STUDIO=OFF -DWITH_STATIC=ON -DWITH_RYZOM_TOOLS=OFF -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 -DCMAKE_INSTALL_PREFIX=/usr -DWITH_INSTALL_LIBRARIES=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL=ON -DWITH_NEL_TOOLS=OFF -DWITH_TOOLS=OFF -DWITH_STUDIO=OFF -DWITH_STATIC=ON -DWITH_RYZOM_TOOLS=OFF -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=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON ..) + - (cd code/build; make -j ) + - (cd code/build; make -j install DESTDIR=AppDir) + # Generate AppImage + - (cd code/build; rm -rf AppDir/usr/bin) + - (cd code/build; mv AppDir/usr/games AppDir/usr/bin) + - (cd code/build; sed -i 's/Exec=games\//Exec=/g' AppDir/usr/share/applications/khanat_client.desktop) + - (cd code/build; sed -i 's/Version=0.1/Version=1.0/g' AppDir/usr/share/applications/khanat_client.desktop) + - (cd code/build; ../../appimage/squashfs-root/AppRun --appdir AppDir --output appimage) + artifacts: + name: "khanat-client_appimage-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + paths: + - code/build/Khanat-x86_64.AppImage +# expire_in: 2 week + when: manual + + + # Windows Client Windows client build: stage: build @@ -1090,16 +1339,14 @@ Windows client build: # Action - mkdir -p wincross - source builder/cross_win32.sh - - mkdir -p codebis - - cp -r code/* codebis/. - - find codebis -type f -name "*.h*" -exec unix2dos {} \; - - find codebis -type f -name "*.c*" -exec unix2dos {} \; - - find codebis -type f -name "*.txt" -exec unix2dos {} \; - - find codebis -type f -name "*.rc" -exec unix2dos {} \; + - find code -type f -name "*.h*" -exec unix2dos {} \; + - find code -type f -name "*.c*" -exec unix2dos {} \; + - find code -type f -name "*.txt" -exec unix2dos {} \; + - find code -type f -name "*.rc" -exec unix2dos {} \; - mkdir -p build - cd build - - wine cmake.exe -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_RYZOM_PATCH=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_LUA53=ON -DWITH_LUA51=OFF -DWITH_STLPORT=OFF -DWITH_DRIVER_DSOUND=ON -G "NMake Makefiles JOM" -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_DRIVER_OPENAL=OFF -DWITH_DRIVER_DSOUND=ON -DWITH_DRIVER_XAUDIO2=ON -DWITH_DRIVER_FMOD=ON -DWITH_DRIVER_DIRECT3D=ON ../codebis - - wine jom.exe + - wine cmake.exe -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_RYZOM_PATCH=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_LUA53=ON -DWITH_LUA51=OFF -DWITH_STLPORT=OFF -DWITH_DRIVER_DSOUND=ON -G "NMake Makefiles JOM" -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_DRIVER_OPENAL=OFF -DWITH_DRIVER_DSOUND=ON -DWITH_DRIVER_XAUDIO2=ON -DWITH_DRIVER_FMOD=ON -DWITH_DRIVER_DIRECT3D=ON ../code + - wine jom.exe || wine jom.exe artifacts: name: "khanat-client-windows-$CI_COMMIT_REF_NAME" paths: From 974ee5508af30ad935fdedcdad1ca2a7239897e5 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Wed, 28 Aug 2019 21:01:33 +0200 Subject: [PATCH 02/15] update build option to parallelize build --- .gitlab-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c424b04fe..ded36be91 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -620,7 +620,7 @@ Linux server_static_debug debian_amd64_strech build: - 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 -j) - (cd curl/build; make install) # Build luabind - mkdir -p luabind @@ -643,7 +643,7 @@ Linux server_static_debug debian_amd64_strech build: - 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 -j - make install - cd ../.. # Build libvorbis @@ -662,7 +662,7 @@ Linux server_static_debug debian_amd64_strech build: - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done - ./configure --enable-static --with-pic - - make + - make -j - make install - cd .. # Action @@ -670,7 +670,7 @@ Linux server_static_debug debian_amd64_strech 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=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF -DWITH_SYMBOLS=ON ..) - 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; make -j 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" @@ -1305,6 +1305,7 @@ Linux client_appimage debian_amd64_buster build: - (cd code/build; sed -i 's/Exec=games\//Exec=/g' AppDir/usr/share/applications/khanat_client.desktop) - (cd code/build; sed -i 's/Version=0.1/Version=1.0/g' AppDir/usr/share/applications/khanat_client.desktop) - (cd code/build; ../../appimage/squashfs-root/AppRun --appdir AppDir --output appimage) + - (ls -lh code/build/Khanat-x86_64.AppImage) artifacts: name: "khanat-client_appimage-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" paths: From 61682a076c2eafdac02b51bd79b2dd18da0e9786 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 29 Aug 2019 21:54:57 +0200 Subject: [PATCH 03/15] update build command with // build --- .gitlab-ci.yml | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ded36be91..fce194ccf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -299,6 +299,10 @@ Linux client_static debian_amd64_strech build: - Docker image: amd64/debian:9 script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" # Prepare environment - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y @@ -386,13 +390,13 @@ Linux client_static debian_amd64_strech build: - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done - ./configure --enable-static --with-pic - - make + - make -j - 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_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; make $optionproc khanat_client) - (cd code/build/bin; ls -lh) artifacts: name: "khanat-client_static-debian_amd64_strech-$CI_COMMIT_REF_NAME" @@ -409,6 +413,10 @@ Linux client_static_debug debian_amd64_strech build: - Docker image: amd64/debian:9 script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" # Prepare environment - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y @@ -501,7 +509,7 @@ Linux client_static_debug debian_amd64_strech build: # 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=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 -DWITH_SYMBOLS=ON ..) - - (cd code/build; make khanat_client) + - (cd code/build; make $optionproc khanat_client) - (cd code/build/bin; ls -lh) artifacts: name: "khanat-client_static_debug-debian_amd64_strech-$CI_COMMIT_REF_NAME" @@ -518,6 +526,10 @@ Linux server_static debian_amd64_strech build: - Docker image: amd64/debian:9 script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" # Prepare environment - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y @@ -579,7 +591,7 @@ Linux server_static debian_amd64_strech 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=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF ..) - ls -l code - ls -l code/build - - (cd code/build; make -j 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; make $optionproc 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-debian_amd64_strech-$CI_COMMIT_REF_NAME" @@ -609,6 +621,10 @@ Linux server_static_debug debian_amd64_strech build: - Docker image: amd64/debian:9 script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" # Prepare environment - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y @@ -670,7 +686,7 @@ Linux server_static_debug debian_amd64_strech 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=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF -DWITH_SYMBOLS=ON ..) - ls -l code - ls -l code/build - - (cd code/build; make -j 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; make $optionproc 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" @@ -700,6 +716,10 @@ Linux client_static debian_i386_strech build: - Docker image: i386/debian:9 script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" # Prepare environment - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y @@ -760,7 +780,7 @@ Linux client_static debian_i386_strech build: # 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=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_NEL_TESTS=OFF ..) - - (cd code/build; make khanat_client) + - (cd code/build; make $optionproc khanat_client) - (cd code/build/bin; ls -lh) artifacts: name: "khanat-client_static-debian_i386_strech-$CI_COMMIT_REF_NAME" @@ -778,6 +798,10 @@ Linux client_static_debug debian_i386_strech build: - Docker image: i386/debian:9 script: + # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) + - disableproc=$(( $(nproc) - 4 )) + - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi + - optionproc="-j$(nproc --ignore=$disableproc)" # Prepare environment - DEBIAN_FRONTEND=noninteractive apt-get update - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y @@ -838,7 +862,7 @@ Linux client_static_debug debian_i386_strech build: # 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 ..) - - (cd code/build; make khanat_client) + - (cd code/build; make $optionproc khanat_client) - (cd code/build/bin; ls -lh) artifacts: name: "khanat-client_static_debug-debian_i386_strech-$CI_COMMIT_REF_NAME" From e6434f00e039b3c3afa9c9c66731561cbaaad8f4 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Fri, 30 Aug 2019 09:55:11 +0200 Subject: [PATCH 04/15] update artefact for client buster to generate package, and test it --- .gitlab-ci.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fce194ccf..3818a00e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1176,8 +1176,7 @@ Linux server debian_amd64_buster build: - code/ryzom/client/unix - code/ryzom/client/windows - code/ryzom/tools/scripts/linux -# expire_in: 2 week - when: manual + expire_in: 2 week Linux client debian_amd64_buster build: @@ -1238,12 +1237,17 @@ Linux client debian_amd64_buster build: - (cd code/build ; cmake -DWITH_NEL=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; make khanat_client) - (cd code/build/bin; ls -lh) + - mkdir -p Linux/x86_64 + - cp code/bin/* Linux/x86_64 + # Packaging + - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ + - chmod +x ./Linux/x86_64/autoextract_script.sh + - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh artifacts: name: "khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" paths: - code/build/bin -# expire_in: 2 week - when: manual + expire_in: 2 week @@ -1334,8 +1338,7 @@ Linux client_appimage debian_amd64_buster build: name: "khanat-client_appimage-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" paths: - code/build/Khanat-x86_64.AppImage -# expire_in: 2 week - when: manual + expire_in: 2 week @@ -1416,7 +1419,7 @@ Linux client test: image: ubuntu:18.04 script: # Test de l'installation initiale - - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run + - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run dependencies: - Linux client build From 5dce89acca8738983789c20c516638e5aaf88601 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Fri, 30 Aug 2019 22:17:45 +0200 Subject: [PATCH 05/15] correct command to generate package client --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3818a00e6..93b978e46 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1216,6 +1216,7 @@ Linux client debian_amd64_buster build: libxrandr-dev libxrender-dev libxxf86vm-dev + makeself mercurial rrdtool unzip @@ -1238,7 +1239,7 @@ Linux client debian_amd64_buster build: - (cd code/build; make khanat_client) - (cd code/build/bin; ls -lh) - mkdir -p Linux/x86_64 - - cp code/bin/* Linux/x86_64 + - cp code/build/bin/* Linux/x86_64 # Packaging - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ - chmod +x ./Linux/x86_64/autoextract_script.sh From 9412aa2c2a9dbc85b45960943e8fd8201b0e833f Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 02:05:40 +0200 Subject: [PATCH 06/15] increase number build windows if dependency error, and chnage dependencies to test install --- .gitlab-ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 93b978e46..6ee6bb91a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1375,7 +1375,7 @@ Windows client build: - mkdir -p build - cd build - wine cmake.exe -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_RYZOM_PATCH=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_LUA53=ON -DWITH_LUA51=OFF -DWITH_STLPORT=OFF -DWITH_DRIVER_DSOUND=ON -G "NMake Makefiles JOM" -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_DRIVER_OPENAL=OFF -DWITH_DRIVER_DSOUND=ON -DWITH_DRIVER_XAUDIO2=ON -DWITH_DRIVER_FMOD=ON -DWITH_DRIVER_DIRECT3D=ON ../code - - wine jom.exe || wine jom.exe + - wine jom.exe || wine jom.exe || wine jom.exe artifacts: name: "khanat-client-windows-$CI_COMMIT_REF_NAME" paths: @@ -1417,12 +1417,13 @@ Linux client test: - mac-ci-build tags: - Docker - image: ubuntu:18.04 + image: amd64/debian:10 script: # Test de l'installation initiale + - ls -l - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run dependencies: - - Linux client build + - Linux client debian_amd64_buster build .OSX client test: stage: test From f9f13dbb8f3a0f4b9673f90abdeed3bfc968fc73 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 12:51:14 +0200 Subject: [PATCH 07/15] add package step and disable (temporary) auto build other package --- .gitlab-ci.yml | 62 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6ee6bb91a..ec0ce0714 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,6 +32,7 @@ stages: - build +- package - test #- staging #- production @@ -48,6 +49,7 @@ Linux client build: - Docker image: debian:jessie script: + - pwd # Calcul le nombre de cpu désactivé (on ne laisse que 4 au maximum) - disableproc=$(( $(nproc) - 4 )) - if [[ $disableproc -le 0 ]] ; then disableproc=0; fi @@ -131,6 +133,7 @@ Linux client build: - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ - chmod +x ./Linux/x86_64/autoextract_script.sh - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh + - pwd artifacts: name: "khanat-$(echo $CI_BUILD_REF | head -c 7)-$CI_PIPELINE_ID-Linux-x86_64" paths: @@ -402,7 +405,9 @@ Linux client_static debian_amd64_strech build: name: "khanat-client_static-debian_amd64_strech-$CI_COMMIT_REF_NAME" paths: - code/build/bin -# expire_in: 2 week + expire_in: 2 week + when: manual + Linux client_static_debug debian_amd64_strech build: @@ -516,6 +521,8 @@ Linux client_static_debug debian_amd64_strech build: paths: - code/build/bin # expire_in: 2 week + when: manual + Linux server_static debian_amd64_strech build: @@ -611,6 +618,8 @@ Linux server_static debian_amd64_strech build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux # expire_in: 2 week + when: manual + Linux server_static_debug debian_amd64_strech build: @@ -706,6 +715,8 @@ Linux server_static_debug debian_amd64_strech build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux # expire_in: 2 week + when: manual + Linux client_static debian_i386_strech build: @@ -787,6 +798,8 @@ Linux client_static debian_i386_strech build: paths: - code/build/bin # expire_in: 2 week + when: manual + @@ -869,6 +882,8 @@ Linux client_static_debug debian_i386_strech build: paths: - code/build/bin # expire_in: 2 week + when: manual + # Fedora Client @@ -1177,6 +1192,8 @@ Linux server debian_amd64_buster build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux expire_in: 2 week + when: manual + Linux client debian_amd64_buster build: @@ -1216,7 +1233,6 @@ Linux client debian_amd64_buster build: libxrandr-dev libxrender-dev libxxf86vm-dev - makeself mercurial rrdtool unzip @@ -1238,12 +1254,6 @@ Linux client debian_amd64_buster build: - (cd code/build ; cmake -DWITH_NEL=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; make khanat_client) - (cd code/build/bin; ls -lh) - - mkdir -p Linux/x86_64 - - cp code/build/bin/* Linux/x86_64 - # Packaging - - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ - - chmod +x ./Linux/x86_64/autoextract_script.sh - - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh artifacts: name: "khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" paths: @@ -1340,6 +1350,8 @@ Linux client_appimage debian_amd64_buster build: paths: - code/build/Khanat-x86_64.AppImage expire_in: 2 week + when: manual + @@ -1381,6 +1393,8 @@ Windows client build: paths: - build/bin # expire_in: 2 week + when: manual + # Job de compilation pour OSX @@ -1409,6 +1423,34 @@ OSX client build: when: manual +## Package +Linux client package: + stage: package + except: + - ryzomcore + - mac-ci-build + tags: + - Docker + image: amd64/debian:10 + script: + # Prepare environment + - DEBIAN_FRONTEND=noninteractive apt-get update + - DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y + - apt-get install -y makeself + # Test de l'installation initiale + - ls -l + - mkdir -p Linux/x86_64 + - cp code/build/bin/* Linux/x86_64 + # Packaging + - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ + - chmod +x ./Linux/x86_64/autoextract_script.sh + - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh + - ls -l + - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run + dependencies: + - Linux client debian_amd64_buster build + + ## TESTS Linux client test: stage: test @@ -1422,8 +1464,8 @@ Linux client test: # Test de l'installation initiale - ls -l - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run - dependencies: - - Linux client debian_amd64_buster build + dependencies: + - Linux client package .OSX client test: stage: test From 72f00a210334418d4a1eddbc938ab39e67ab0685 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 12:54:27 +0200 Subject: [PATCH 08/15] correct syntax error on gitlab-ci.yaml --- .gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec0ce0714..94109443f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1427,7 +1427,6 @@ OSX client build: Linux client package: stage: package except: - - ryzomcore - mac-ci-build tags: - Docker @@ -1447,7 +1446,7 @@ Linux client package: - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh - ls -l - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run - dependencies: + dependencies: - Linux client debian_amd64_buster build @@ -1464,7 +1463,7 @@ Linux client test: # Test de l'installation initiale - ls -l - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run - dependencies: + dependencies: - Linux client package .OSX client test: From 192162635c6c5ca6c55a5e4d38ef6855aab54d13 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 13:38:07 +0200 Subject: [PATCH 09/15] update code to package client --- .gitlab-ci.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 94109443f..9a46f6053 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1247,12 +1247,14 @@ Linux client debian_amd64_buster build: - mkdir -p curl/build - tar xvf curl.tar.gz -C curl --strip 1 - (cd curl/build; cmake -DCMAKE_BUILD_TYPE=Release -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 -j) - (cd curl/build; make install) # Action - mkdir -p code/build - - (cd code/build ; cmake -DWITH_NEL=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; make khanat_client) +# - (cd code/build ; cmake -DWITH_NEL=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; make -j khanat_client) + - (cd code/build ; cmake -DWITH_INSTALL_LIBRARIES=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL=ON -DWITH_NEL_TOOLS=OFF -DWITH_TOOLS=OFF -DWITH_STUDIO=OFF -DWITH_STATIC=ON -DWITH_RYZOM_TOOLS=OFF -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=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON ..) + - (cd code/build; make -j ) - (cd code/build/bin; ls -lh) artifacts: name: "khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" @@ -1439,13 +1441,13 @@ Linux client package: # Test de l'installation initiale - ls -l - mkdir -p Linux/x86_64 + - find code/build/bin - cp code/build/bin/* Linux/x86_64 # Packaging - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ - chmod +x ./Linux/x86_64/autoextract_script.sh - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh - ls -l - - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run dependencies: - Linux client debian_amd64_buster build @@ -1462,7 +1464,7 @@ Linux client test: script: # Test de l'installation initiale - ls -l - - ./khanat-client-debian_buster-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run + - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run dependencies: - Linux client package From 69510a9670e6a3adf408152335edb41a6cc69c34 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 13:58:41 +0200 Subject: [PATCH 10/15] update code to package client --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a46f6053..d12f1643a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1448,6 +1448,10 @@ Linux client package: - chmod +x ./Linux/x86_64/autoextract_script.sh - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh - ls -l + artifacts: + name: "khanat-$(echo $CI_BUILD_REF | head -c 7)-$CI_PIPELINE_ID-Linux-x86_64" + paths: + - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run dependencies: - Linux client debian_amd64_buster build From 3a9efbbb12f29e4726967050ecffa0a7ac95a9c5 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 14:18:32 +0200 Subject: [PATCH 11/15] update code to test client --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d12f1643a..4ad6fb217 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1469,6 +1469,8 @@ Linux client test: # Test de l'installation initiale - ls -l - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run + - ls -l + - find dependencies: - Linux client package From f166dbb1d1b4b67b9235e79f7c09f9bd41c58ab6 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 14:35:55 +0200 Subject: [PATCH 12/15] update code to test client --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4ad6fb217..95c996df4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1470,7 +1470,6 @@ Linux client test: - ls -l - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run - ls -l - - find dependencies: - Linux client package From 22506950855aa381016346d30f2b01f4546c971a Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 15:05:37 +0200 Subject: [PATCH 13/15] addin appimage on package --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 95c996df4..f5e6f3820 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1352,7 +1352,6 @@ Linux client_appimage debian_amd64_buster build: paths: - code/build/Khanat-x86_64.AppImage expire_in: 2 week - when: manual @@ -1448,12 +1447,14 @@ Linux client package: - chmod +x ./Linux/x86_64/autoextract_script.sh - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh - ls -l + - ls -l /tmp/khanat_installer/ artifacts: name: "khanat-$(echo $CI_BUILD_REF | head -c 7)-$CI_PIPELINE_ID-Linux-x86_64" paths: - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run dependencies: - Linux client debian_amd64_buster build + - Linux client_appimage debian_amd64_buster build ## TESTS From 8853e6671dfd39e84d00c6cbe1ae24b5302dfbfe Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 15:40:31 +0200 Subject: [PATCH 14/15] addin appimage on package --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f5e6f3820..d411f887a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1442,12 +1442,12 @@ Linux client package: - mkdir -p Linux/x86_64 - find code/build/bin - cp code/build/bin/* Linux/x86_64 + - cp code/build/Khanat-x86_64.AppImage Linux/x86_64 # Packaging - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ - chmod +x ./Linux/x86_64/autoextract_script.sh - makeself --nox11 --target /tmp/khanat_installer ./Linux/x86_64/ khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run "Khanat installer" ./autoextract_script.sh - ls -l - - ls -l /tmp/khanat_installer/ artifacts: name: "khanat-$(echo $CI_BUILD_REF | head -c 7)-$CI_PIPELINE_ID-Linux-x86_64" paths: @@ -1471,6 +1471,7 @@ Linux client test: - ls -l - ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run - ls -l + - ls -l /tmp/khanat_installer/ dependencies: - Linux client package From be557c6e609e7a261fdd62875639128fa307717f Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Sun, 1 Sep 2019 23:41:46 +0200 Subject: [PATCH 15/15] reactivate other build --- .gitlab-ci.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d411f887a..8323a6963 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -225,7 +225,6 @@ Linux server debian_amd64_strech build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux # expire_in: 2 week - when: manual Linux client debian_amd64_strech build: @@ -291,7 +290,6 @@ Linux client debian_amd64_strech build: paths: - code/build/bin # expire_in: 2 week - when: manual Linux client_static debian_amd64_strech build: @@ -406,8 +404,6 @@ Linux client_static debian_amd64_strech build: paths: - code/build/bin expire_in: 2 week - when: manual - Linux client_static_debug debian_amd64_strech build: @@ -521,8 +517,6 @@ Linux client_static_debug debian_amd64_strech build: paths: - code/build/bin # expire_in: 2 week - when: manual - Linux server_static debian_amd64_strech build: @@ -618,8 +612,6 @@ Linux server_static debian_amd64_strech build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux # expire_in: 2 week - when: manual - Linux server_static_debug debian_amd64_strech build: @@ -715,8 +707,6 @@ Linux server_static_debug debian_amd64_strech build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux # expire_in: 2 week - when: manual - Linux client_static debian_i386_strech build: @@ -798,9 +788,6 @@ Linux client_static debian_i386_strech build: paths: - code/build/bin # expire_in: 2 week - when: manual - - Linux client_static_debug debian_i386_strech build: @@ -882,8 +869,6 @@ Linux client_static_debug debian_i386_strech build: paths: - code/build/bin # expire_in: 2 week - when: manual - # Fedora Client @@ -1192,8 +1177,6 @@ Linux server debian_amd64_buster build: - code/ryzom/client/windows - code/ryzom/tools/scripts/linux expire_in: 2 week - when: manual - Linux client debian_amd64_buster build: