Merge branch 'aleajactaest/khanat-opennel-code-develop' into develop
This commit is contained in:
commit
f81c3b5e33
1 changed files with 302 additions and 73 deletions
375
.gitlab-ci.yml
375
.gitlab-ci.yml
|
@ -1,8 +1,30 @@
|
|||
# Build manually :
|
||||
# Configuration for Continous Integration
|
||||
#
|
||||
# Copyright (C) 2017 AleaJactaEst
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Example to execute locally:
|
||||
# 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 client debian_amd64_strech 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'
|
||||
# gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client fedora_amd64_27 build'
|
||||
# gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client ubuntu_amd64_17_10 build'
|
||||
|
||||
stages:
|
||||
- build
|
||||
- test
|
||||
|
@ -49,7 +71,10 @@ Linux client build:
|
|||
# Configuration
|
||||
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON ../../code
|
||||
# Compilation et installation
|
||||
- make $optionproc install DESTDIR=../../Linux/x86_64
|
||||
- make $optionproc khanat_client_patcher khanat_client
|
||||
#- make $optionproc install DESTDIR=../../Linux/x86_64
|
||||
- mkdir -p ../../Linux/x86_64
|
||||
- cp bin/* ../../Linux/x86_64
|
||||
# Packaging
|
||||
- cd ../../
|
||||
- cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/
|
||||
|
@ -68,9 +93,10 @@ Linux server debian_amd64_strech build:
|
|||
script:
|
||||
# Prepare environment
|
||||
- apt-get update
|
||||
- apt-get dist-upgrade -y
|
||||
- apt-get dist-upgrade -y
|
||||
- DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
|
||||
- apt-get install -y git
|
||||
- apt-get install -y
|
||||
git
|
||||
libcurl4-openssl-dev
|
||||
libfreetype6-dev
|
||||
libx11-dev
|
||||
|
@ -120,7 +146,7 @@ Linux server debian_amd64_strech 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-debian_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID"
|
||||
name: "khanat-server-debian_strech-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- code/build/bin
|
||||
expire_in: 2 week
|
||||
|
@ -134,41 +160,38 @@ Linux client debian_amd64_strech build:
|
|||
script:
|
||||
# Prepare environment
|
||||
- apt-get update
|
||||
- apt-get dist-upgrade -y
|
||||
- apt-get install -y 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
|
||||
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
|
||||
- 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
|
||||
- apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 libogg-dev libvorbis-dev
|
||||
# Build Curl
|
||||
- wget -q https://curl.haxx.se/download/curl-7.58.0.tar.gz -O curl.tar.gz
|
||||
|
@ -189,7 +212,6 @@ Linux client debian_amd64_strech build:
|
|||
- code/build/bin
|
||||
expire_in: 2 week
|
||||
|
||||
|
||||
Linux client_static debian_amd64_strech build:
|
||||
stage: build
|
||||
tags:
|
||||
|
@ -198,41 +220,39 @@ Linux client_static debian_amd64_strech build:
|
|||
script:
|
||||
# Prepare environment
|
||||
- apt-get update
|
||||
- apt-get dist-upgrade -y
|
||||
- apt-get install -y 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
|
||||
- apt-get dist-upgrade -y
|
||||
- apt-get install -y
|
||||
autoconf
|
||||
automake
|
||||
libgif-dev
|
||||
cpputest
|
||||
libssl-dev
|
||||
liblzma-dev
|
||||
unzip
|
||||
zlib1g-dev
|
||||
libssh2-1-dev
|
||||
libboost-all-dev
|
||||
libopenal-dev
|
||||
libgl1-mesa-dev
|
||||
mercurial
|
||||
wget
|
||||
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
|
||||
fakeroot
|
||||
libx11-dev
|
||||
libxml2-dev
|
||||
libxmu-dev
|
||||
libxrandr-dev
|
||||
libxrender-dev
|
||||
libxxf86vm-dev
|
||||
mercurial
|
||||
rrdtool
|
||||
unzip
|
||||
wget
|
||||
zlib1g-dev
|
||||
- apt-get install -y liblua5.2-0 liblua5.2-dev
|
||||
# Build Curl
|
||||
- wget -q https://curl.haxx.se/download/curl-7.58.0.tar.gz -O curl.tar.gz
|
||||
|
@ -269,7 +289,14 @@ Linux client_static debian_amd64_strech build:
|
|||
- 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
|
||||
- wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u1.debian.tar.xz -O libvorbis.debian.tar.xz
|
||||
# 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
|
||||
|
@ -285,11 +312,213 @@ Linux client_static debian_amd64_strech build:
|
|||
- (cd code/build; make khanat_client)
|
||||
- (cd code/build/bin; ls -lh)
|
||||
artifacts:
|
||||
name: "khanat-client_static-debian_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID"
|
||||
name: "khanat-client_static-debian_strech-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- code/build/bin
|
||||
expire_in: 2 week
|
||||
|
||||
# Fedora Client
|
||||
Linux client fedora_amd64_27 build:
|
||||
stage: build
|
||||
tags:
|
||||
- Docker
|
||||
image: amd64/fedora:27
|
||||
script:
|
||||
# Prepare environment
|
||||
- yum update -y
|
||||
- yum install -y
|
||||
autoconf
|
||||
autogen
|
||||
automake
|
||||
bison
|
||||
boost-devel
|
||||
cmake
|
||||
fakeroot
|
||||
freetype-devel
|
||||
gcc
|
||||
gcc-c++
|
||||
giflib-devel
|
||||
libcurl-devel
|
||||
libjpeg-turbo-devel
|
||||
libogg-devel
|
||||
libpng-devel
|
||||
libssh2-devel
|
||||
libtool
|
||||
libvorbis-devel
|
||||
libX11-devel
|
||||
libxml2-devel
|
||||
libXmu
|
||||
libXrandr-devel
|
||||
libXrender-devel
|
||||
libXxf86vm-devel
|
||||
luabind-devel
|
||||
lua-devel
|
||||
lzma-devel
|
||||
make
|
||||
mercurial
|
||||
mesa-libGL-devel
|
||||
openal-soft-devel
|
||||
openssl-devel
|
||||
patch
|
||||
rrdtool
|
||||
unzip
|
||||
wget
|
||||
xz
|
||||
zlib-devel
|
||||
# Action
|
||||
- mkdir -p code/build
|
||||
- (cd code; patch -i ../patch/libcrypto.patch)
|
||||
- (cd code/build ; export -p CPPFLAGS="-Wno-deprecated -Wno-deprecated-declarations"; cmake -G "Unix Makefiles" -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=OFF ..)
|
||||
- (cd code/build; make khanat_client)
|
||||
- (cd code/build/bin; ls -lh)
|
||||
artifacts:
|
||||
name: "khanat-client-fedora_27-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- code/build/bin
|
||||
expire_in: 2 week
|
||||
|
||||
# Ubuntu Client
|
||||
Linux client ubuntu_amd64_17_10 build:
|
||||
stage: build
|
||||
tags:
|
||||
- Docker
|
||||
image: amd64/ubuntu:17.10
|
||||
script:
|
||||
# Prepare environment
|
||||
- apt-get update
|
||||
- apt-get dist-upgrade -y
|
||||
- apt-get install -y autoconf
|
||||
autogen
|
||||
automake
|
||||
bison
|
||||
build-essential
|
||||
cmake
|
||||
cpputest
|
||||
fakeroot
|
||||
libboost-all-dev
|
||||
libcurl4-openssl-dev
|
||||
libfreetype6-dev
|
||||
libgif-dev
|
||||
libgl1-mesa-dev
|
||||
libjpeg62-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
|
||||
- apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 libogg-dev libvorbis-dev
|
||||
# Action
|
||||
- mkdir -p code/build
|
||||
- (cd code; patch -i ../patch/libcrypto.patch)
|
||||
- (cd code/build ; export -p CPPFLAGS="-Wno-deprecated -Wno-deprecated-declarations"; cmake -G "Unix Makefiles" -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=OFF ..)
|
||||
- (cd code/build; make khanat_client)
|
||||
- (cd code/build/bin; ls -lh)
|
||||
artifacts:
|
||||
name: "khanat-client-ubuntu_17_10-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID"
|
||||
paths:
|
||||
- code/build/bin
|
||||
expire_in: 2 week
|
||||
|
||||
# Archlinux Client
|
||||
Linux client archlinux build:
|
||||
stage: build
|
||||
tags:
|
||||
- Docker
|
||||
image: base/archlinux
|
||||
script:
|
||||
# Prepare environment
|
||||
- pacman -Suy --noconfirm
|
||||
autoconf
|
||||
autogen
|
||||
automake
|
||||
binutils
|
||||
boost
|
||||
boost-libs
|
||||
cmake
|
||||
fakeroot
|
||||
gcc
|
||||
giflib
|
||||
git
|
||||
glu
|
||||
libjpeg-turbo
|
||||
libogg
|
||||
libpng
|
||||
libssh
|
||||
libtool
|
||||
libvorbis
|
||||
libx11
|
||||
libxml2
|
||||
libxmu
|
||||
libxrandr
|
||||
libxrender
|
||||
libxxf86vm
|
||||
lua
|
||||
make
|
||||
mesa
|
||||
openal
|
||||
openssl
|
||||
patch
|
||||
pkg-config
|
||||
sed
|
||||
unzip
|
||||
wget
|
||||
xorg-xfd
|
||||
xz
|
||||
zlib
|
||||
> pacman.log
|
||||
# Install Yaourt
|
||||
# Disable check root (never do that on real server)
|
||||
- sed -i 's/EUID == 0/EUID == 12345/g' /usr/sbin/makepkg
|
||||
- mkdir -p build
|
||||
- cd build
|
||||
- git clone https://aur.archlinux.org/package-query.git
|
||||
- cd package-query
|
||||
- yes | makepkg -si || echo $?
|
||||
- cd ..
|
||||
- git clone https://aur.archlinux.org/yaourt.git
|
||||
- cd yaourt
|
||||
- yes | makepkg -si || echo $?
|
||||
- cd ../..
|
||||
- yaourt -Syyu --noconfirm --aur boost-build
|
||||
# Build
|
||||
- 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
|
||||
- ls -l
|
||||
- for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done
|
||||
- export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install cxxflags="-fPIC -Wno-deprecated -Wno-deprecated-declarations"
|
||||
- export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install link=static cxxflags="-fPIC -Wno-deprecated -Wno-deprecated-declarations"
|
||||
- cd ..
|
||||
# Action
|
||||
- mkdir -p code/build
|
||||
- (cd code; patch -i ../patch/libcrypto.patch)
|
||||
- (cd code; patch -i ../patch/libicuuc.patch)
|
||||
- (cd code/build ; export -p CPPFLAGS="-Wno-deprecated -Wno-deprecated-declarations"; cmake -G "Unix Makefiles" -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 /opt/code ..)
|
||||
- (cd code/build; make khanat_client)
|
||||
- (cd code/build/bin; ls -lh)
|
||||
artifacts:
|
||||
name: "khanat-client-archlinux-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- code/build/bin
|
||||
expire_in: 2 week
|
||||
|
||||
# Gentoo Client
|
||||
|
||||
# Job de compilation pour OSX
|
||||
OSX client build:
|
||||
|
|
Loading…
Reference in a new issue