Skip to content
Permalink
Browse files

Auto build client appimage (#10561)

* Replace ubuntu:14.04 with ubuntu 18:04
* Auto build client appimage

Co-authored-by: sfan5 <sfan5@live.de>
  • Loading branch information
Lejo1 and sfan5 committed Nov 15, 2020
1 parent ee1853e commit a16e412c9de26beea427cb1f15e42db61c106b68
Showing with 98 additions and 27 deletions.
  1. +47 −27 .gitlab-ci.yml
  2. +51 −0 AppImageBuilder.yml
@@ -36,7 +36,7 @@ variables:
- cp misc/debpkg-control build/deb/minetest/DEBIAN/control
- cp -Rp artifact/minetest/usr build/deb/minetest/
script:
- git clone $MINETEST_GAME_REPO build/deb/minetest/usr/share/minetest/games/minetest
- git clone $MINETEST_GAME_REPO build/deb/minetest/usr/share/minetest/games/minetest_game
- rm -Rf build/deb/minetest/usr/share/minetest/games/minetest/.git
- sed -i 's/DATEPLACEHOLDER/'$(date +%y.%m.%d)'/g' build/deb/minetest/DEBIAN/control
- sed -i 's/LEVELDB_PLACEHOLDER/'$LEVELDB_PKG'/g' build/deb/minetest/DEBIAN/control
@@ -142,58 +142,53 @@ deploy:debian-10:
## Ubuntu
##

# Trusty
# Xenial

build:ubuntu-14.04:
build:ubuntu-16.04:
extends: .build_template
image: ubuntu:trusty
image: ubuntu:xenial
before_script:
- echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty main" > /etc/apt/sources.list.d/uptodate-toolchain.list
- apt-key adv --keyserver keyserver.ubuntu.com --recv BA9EF27F
- apt-get update -y
- apt-get -y install build-essential gcc-6 g++-6 libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
variables:
CC: gcc-6
CXX: g++-6
- apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev

package:ubuntu-14.04:
package:ubuntu-16.04:
extends: .debpkg_template
image: ubuntu:trusty
image: ubuntu:xenial
dependencies:
- build:ubuntu-14.04
- build:ubuntu-16.04
variables:
LEVELDB_PKG: libleveldb1
LEVELDB_PKG: libleveldb1v5

deploy:ubuntu-14.04:
deploy:ubuntu-16.04:
extends: .debpkg_install
image: ubuntu:trusty
image: ubuntu:xenial
dependencies:
- package:ubuntu-14.04
- package:ubuntu-16.04
variables:
LEVELDB_PKG: libleveldb1
LEVELDB_PKG: libleveldb1v5

# Xenial
# Bionic

build:ubuntu-16.04:
build:ubuntu-18.04:
extends: .build_template
image: ubuntu:xenial
image: ubuntu:bionic
before_script:
- apt-get update -y
- apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev

package:ubuntu-16.04:
package:ubuntu-18.04:
extends: .debpkg_template
image: ubuntu:xenial
image: ubuntu:bionic
dependencies:
- build:ubuntu-16.04
- build:ubuntu-18.04
variables:
LEVELDB_PKG: libleveldb1v5

deploy:ubuntu-16.04:
deploy:ubuntu-18.04:
extends: .debpkg_install
image: ubuntu:xenial
image: ubuntu:bionic
dependencies:
- package:ubuntu-16.04
- package:ubuntu-18.04
variables:
LEVELDB_PKG: libleveldb1v5

@@ -308,3 +303,28 @@ pages:
only:
- master

package:appimage-client:
stage: package
image: appimagecrafters/appimage-builder
dependencies:
- build:ubuntu-18.04
before_script:
- apt-get update -y
- apt-get install -y git wget
# Collect files
- mkdir AppDir
- cp -a artifact/minetest/usr/ AppDir/usr/
- rm AppDir/usr/bin/minetestserver
- cp -R clientmods AppDir/usr/share/minetest
script:
- git clone $MINETEST_GAME_REPO AppDir/usr/share/minetest/games/minetest_game
- rm -Rf AppDir/usr/share/minetest/games/minetest/.git
- export VERSION=$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA
# Remove PrefersNonDefaultGPU property due to validation errors
- sed -i '/PrefersNonDefaultGPU/d' AppDir/usr/share/applications/net.minetest.minetest.desktop
- appimage-builder --skip-test
artifacts:
when: on_success
expire_in: 90 day
paths:
- ./*.AppImage
@@ -0,0 +1,51 @@
version: 1

AppDir:
path: ./AppDir

app_info:
id: minetest
name: Minetest
icon: minetest
version: !ENV ${VERSION}
exec: usr/bin/minetest
exec_args: $@
runtime:
env:
APPDIR_LIBRARY_PATH: $APPDIR/usr/lib/x86_64-linux-gnu

apt:
arch: amd64
sources:
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic main universe
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates main universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-backports main universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-security main universe

include:
- libirrlicht1.8
- libxxf86vm1
- libgl1-mesa-glx
- libsqlite3-0
- libogg0
- libvorbis0a
- libopenal1
- libcurl3-gnutls
- libfreetype6
- zlib1g
- libgmp10
- libjsoncpp1

files:
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*

AppImage:
update-information: None
sign-key: None
arch: x86_64

0 comments on commit a16e412

Please sign in to comment.