X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=.gitlab-ci.yml;h=8e81865709e33fdf2d2c4f205d39a4013243e20b;hb=bc59fcf5c5cc44ea18e93f64aca9c20be71c1b07;hp=597e7ab521432ec50bd36c4905287b07b419d4c1;hpb=83a7b48bb1312cf9851706c2b6adc7877556e8d5;p=dragonfireclient.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 597e7ab52..8e8186570 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ stages: - deploy variables: - IRRLICHT_TAG: "1.9.0mt1" + IRRLICHT_TAG: "1.9.0mt6" MINETEST_GAME_REPO: "https://github.com/minetest/minetest_game.git" CONTAINER_IMAGE: registry.gitlab.com/$CI_PROJECT_PATH @@ -17,18 +17,12 @@ variables: stage: build before_script: - apt-get update - - apt-get -y install build-essential git cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libleveldb-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev + - DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential git cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libleveldb-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev script: - - git clone https://github.com/minetest/irrlicht -b $IRRLICHT_TAG - - cd irrlicht - - cmake . -DBUILD_SHARED_LIBS=OFF - - make -j2 - - cd .. - - mkdir cmakebuild - - cd cmakebuild - - cmake -DIRRLICHT_LIBRARY=$PWD/../irrlicht/lib/Linux/libIrrlichtMt.a -DIRRLICHT_INCLUDE_DIR=$PWD/../irrlicht/include -DCMAKE_INSTALL_PREFIX=../artifact/minetest/usr/ -DCMAKE_BUILD_TYPE=Release -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE -DBUILD_SERVER=TRUE .. - - make -j2 - - make install + - git clone https://github.com/minetest/irrlicht -b $IRRLICHT_TAG lib/irrlichtmt + - cmake -B build -DCMAKE_INSTALL_PREFIX=../artifact/minetest/usr/ -DCMAKE_BUILD_TYPE=Release -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE -DBUILD_SERVER=TRUE .. + - cmake --build build --parallel $(($(nproc) + 1)) + - cmake --install build artifacts: when: on_success expire_in: 1h @@ -49,6 +43,7 @@ variables: - sed -i 's/DATEPLACEHOLDER/'$(date +%y.%m.%d)'/g' build/deb/minetest/DEBIAN/control - sed -i 's/JPEG_PLACEHOLDER/'$JPEG_PKG'/g' build/deb/minetest/DEBIAN/control - sed -i 's/LEVELDB_PLACEHOLDER/'$LEVELDB_PKG'/g' build/deb/minetest/DEBIAN/control + - sed -i 's/JSONCPP_PLACEHOLDER/'$JSONCPP_PKG'/g' build/deb/minetest/DEBIAN/control - cd build/deb/ && dpkg-deb -b minetest/ && mv minetest.deb ../../ artifacts: expire_in: 90 day @@ -58,7 +53,7 @@ variables: .debpkg_install: stage: deploy before_script: - - apt-get update + - apt-get update -qy script: - apt-get install -y ./*.deb - minetest --version @@ -79,6 +74,7 @@ package:debian-9: needs: - build:debian-9 variables: + JSONCPP_PKG: libjsoncpp1 LEVELDB_PKG: libleveldb1v5 JPEG_PKG: libjpeg62-turbo @@ -100,6 +96,7 @@ package:debian-10: needs: - build:debian-10 variables: + JSONCPP_PKG: libjsoncpp1 LEVELDB_PKG: libleveldb1d JPEG_PKG: libjpeg62-turbo @@ -109,30 +106,31 @@ deploy:debian-10: needs: - package:debian-10 -## -## Ubuntu -## - -# Xenial +# Bullseye -build:ubuntu-16.04: - extends: .build_template - image: ubuntu:xenial +build:debian-11: + extends: .build_template + image: debian:11 -package:ubuntu-16.04: +package:debian-11: extends: .debpkg_template - image: ubuntu:xenial + image: debian:11 needs: - - build:ubuntu-16.04 + - build:debian-11 variables: - LEVELDB_PKG: libleveldb1v5 - JPEG_PKG: libjpeg-turbo8 + JSONCPP_PKG: libjsoncpp24 + LEVELDB_PKG: libleveldb1d + JPEG_PKG: libjpeg62-turbo -deploy:ubuntu-16.04: +deploy:debian-11: extends: .debpkg_install - image: ubuntu:xenial + image: debian:11 needs: - - package:ubuntu-16.04 + - package:debian-11 + +## +## Ubuntu +## # Bionic @@ -146,6 +144,7 @@ package:ubuntu-18.04: needs: - build:ubuntu-18.04 variables: + JSONCPP_PKG: libjsoncpp1 LEVELDB_PKG: libleveldb1v5 JPEG_PKG: libjpeg-turbo8 @@ -155,6 +154,28 @@ deploy:ubuntu-18.04: needs: - package:ubuntu-18.04 +# Focal + +build:ubuntu-20.04: + extends: .build_template + image: ubuntu:focal + +package:ubuntu-20.04: + extends: .debpkg_template + image: ubuntu:focal + needs: + - build:ubuntu-20.04 + variables: + JSONCPP_PKG: libjsoncpp1 + LEVELDB_PKG: libleveldb1d + JPEG_PKG: libjpeg-turbo8 + +deploy:ubuntu-20.04: + extends: .debpkg_install + image: ubuntu:focal + needs: + - package:ubuntu-20.04 + ## ## Fedora ## @@ -164,7 +185,7 @@ build:fedora-28: extends: .build_template image: fedora:28 before_script: - - dnf -y install make git gcc gcc-c++ kernel-devel cmake libjpeg-devel libpng-devel libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel + - dnf -y install make git gcc gcc-c++ kernel-devel cmake libjpeg-devel libpng-devel libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel libzstd-devel ## ## MinGW for Windows @@ -175,25 +196,12 @@ build:fedora-28: before_script: - apt-get update - DEBIAN_FRONTEND=noninteractive apt-get install -y wget xz-utils unzip git cmake gettext - - wget -nv http://minetest.kitsunemimi.pw/mingw-w64-${WIN_ARCH}_9.2.0_ubuntu18.04.tar.xz -O mingw.tar.xz + - wget -nv http://minetest.kitsunemimi.pw/mingw-w64-${WIN_ARCH}_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz - tar -xaf mingw.tar.xz -C /usr .build_win_template: extends: .generic_win_template stage: build - artifacts: - expire_in: 1h - paths: - - build/build/*.zip - -.package_win_template: - extends: .generic_win_template - stage: package - script: - - unzip build/build/*.zip - - cp -p /usr/${WIN_ARCH}-w64-mingw32/bin/libgcc*.dll minetest-*-win*/bin/ - - cp -p /usr/${WIN_ARCH}-w64-mingw32/bin/libstdc++*.dll minetest-*-win*/bin/ - - cp -p /usr/${WIN_ARCH}-w64-mingw32/bin/libwinpthread*.dll minetest-*-win*/bin/ artifacts: expire_in: 90 day paths: @@ -203,28 +211,15 @@ build:win32: extends: .build_win_template script: - EXISTING_MINETEST_DIR=$PWD ./util/buildbot/buildwin32.sh build + - unzip -q build/build/*.zip variables: WIN_ARCH: "i686" -package:win32: - extends: .package_win_template - needs: - - build:win32 - variables: - WIN_ARCH: "i686" - - build:win64: extends: .build_win_template script: - EXISTING_MINETEST_DIR=$PWD ./util/buildbot/buildwin64.sh build - variables: - WIN_ARCH: "x86_64" - -package:win64: - extends: .package_win_template - needs: - - build:win64 + - unzip -q build/build/*.zip variables: WIN_ARCH: "x86_64" @@ -275,7 +270,7 @@ package:appimage-client: - build:ubuntu-18.04 before_script: - apt-get update -y - - apt-get install -y git wget + - apt-get install -y git # Collect files - mkdir AppDir - cp -a artifact/minetest/usr/ AppDir/usr/