Merge branch 'feature/ci-static-packaging+test+CI' into 'develop'

Feature/ci static packaging+test+ci

Nouveautés : 
- ~Feature Nouvel installeur pour le client statique
- ~Feature Test dudit installeur

See merge request !21
This commit is contained in:
Zatalyz 2016-08-14 12:46:48 +00:00
commit 786df4ff8e
2 changed files with 35 additions and 7 deletions

View file

@ -20,7 +20,7 @@ Linux client build:
script: script:
# Installation des dépendances # Installation des dépendances
- apt-get update - apt-get update
- apt-get install -y g++ gcc cmake libgl1-mesa-dev libjpeg-dev libpng12-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 - apt-get install -y g++ gcc cmake libgl1-mesa-dev libjpeg-dev libpng12-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
# Installation des dépendances des dépendances statiques (à commenter si construction de Khanat en mode dynamique) # 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) # libxml2 : python-pyicu (support d'unicode), python-dev (support de... python)
- apt-get install -y wget python-pyicu python-dev - apt-get install -y wget python-pyicu python-dev
@ -34,16 +34,22 @@ Linux client build:
# Compilation de curl # Compilation de curl
- cd curl-7.50.0 - 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 - ./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 -j$(($(nproc)/2)) - make install -j$(nproc)
- cd .. - cd ..
## Compilation de Khanat ## Compilation de Khanat
# Configuration # 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 -DCURL_LIBRARY=/usr/local/lib/libcurl.a ../../code - 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 -DCURL_LIBRARY=/usr/local/lib/libcurl.a ../../code
# Compilation et installation # Compilation et installation
- make -j$(($(nproc)/2)) install DESTDIR=../../Linux/x86_64 - make -j$(nproc) install DESTDIR=../../Linux/x86_64
# Packaging
- cd ../../
- 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: artifacts:
name: "khanat-$(echo $CI_BUILD_REF | head -c 7)-$CI_PIPELINE_ID-Linux-x86_64"
paths: paths:
- Linux - khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run
# Job de compilation pour OSX # Job de compilation pour OSX
OSX client build: OSX client build:
@ -63,13 +69,14 @@ OSX client build:
# Compilation et installation # Compilation et installation
- make -j$(($(sysctl -n hw.ncpu)/2)) install DESTDIR=../../OSX/x86_64 - make -j$(($(sysctl -n hw.ncpu)/2)) install DESTDIR=../../OSX/x86_64
artifacts: artifacts:
name: "khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-OSX-x86_64"
paths: paths:
- OSX - OSX/x86_64/*
when: manual when: manual
## TESTS ## TESTS
.Linux client test: Linux client test:
stage: test stage: test
only: only:
- develop - develop
@ -80,7 +87,8 @@ OSX client build:
- Docker - Docker
image: ubuntu:14.04 image: ubuntu:14.04
script: script:
- echo "pas encore de test pour le client Linux" # Test de l'installation initiale
- ./khanat-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID-Linux-x86_64.run
dependencies: dependencies:
- Linux client build - Linux client build

20
dist/khanat/autoextract_script.sh vendored Normal file
View file

@ -0,0 +1,20 @@
# Création de l'entrée du menu.
mkdir -p $HOME/.local/share/applications/ $HOME/.local/share/khanat/
cp -r /tmp/khanat_installer/* $HOME/.local/share/khanat/
cat <<EOF>> $HOME/.local/share/applications/khanat.desktop
[Desktop Entry]
Version=1.0
Name=Khanat
Type=Application
GenericName=Game Client
Comment=Khanat client
TryExec=$HOME/.local/share/khanat/khanat_client
Icon=$HOME/.local/share/khanat/khanat_client.png
Terminal=false
Hidden=false
Categories=Game;Roleplaying;
EOF
echo ”Khanat have been succefully installed” || zenity --info --title=”Khanat installer” --text=”Khanat have been succefully installed”