From eec73c18029207f6fcfa4fd083671038fb156078 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Wed, 21 Mar 2018 22:38:27 +0100 Subject: [PATCH] adding build client on archlinux --- .gitlab-ci.yml | 115 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 112 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 963d08ea1..c99ca21d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,27 @@ -# 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 . +# +# Example to execute locally: # 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' + stages: - build - test @@ -120,7 +139,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 @@ -285,11 +304,101 @@ 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 + + +# Centos Client + + +# Ubuntu Client + + +# Archlinux Client +Linux client archlinux build: + stage: build + tags: + - Docker + image: base/archlinux + script: + # Prepare environment + - pacman -Suy --noconfirm libx11 mesa glu + libxxf86vm + libxrandr + libxrender + openal + libxml2 + cmake + gcc + make + libpng + libjpeg-turbo + libxmu + autoconf + automake + giflib + openssl + xz + unzip + zlib + libssh + boost + boost-libs + openal + wget + autogen + libtool + fakeroot + lua + libogg + libvorbis + patch + xorg-xfd + sed binutils git gcc pkg-config make fakeroot + # 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 cflags="-fPIC" cxxflags="-fPIC" + - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install link=static cflags="-fPIC" cxxflags="-fPIC" + - cd .. + # Action + - mkdir -p code/build + - (cd code; patch -i ../patch/libcrypto.patch) + - (cd code; patch -i ../patch/libicuuc.patch) + - (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; 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: