Skip to content
Snippets Groups Projects
Unverified Commit 1ee37e02 authored by Zhymabek Roman's avatar Zhymabek Roman Committed by GitHub
Browse files

Add AppImage build

parent 74128cf8
No related branches found
No related tags found
No related merge requests found
......@@ -218,6 +218,73 @@ build-flatpak-arm64:
paths: ['build-flatpak/nheko-arm64.flatpak']
name: flatpak-${CI_COMMIT_REF_NAME}-${VERSION}-arm64
appimage-amd64:
stage: build
image: ubuntu:22.04
tags: [docker]
before_script:
# Installing the packages needed to download and install third-party tools
- apt-get update && apt-get install -y software-properties-common git wget curl
# Installing the packages needed to compile nheko and third-party tools
- apt-get -y install --no-install-suggests --no-install-recommends ca-certificates build-essential ninja-build cmake gcc make automake ccache liblmdb-dev
libssl-dev libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediaquick5 libqt5svg5-dev
qtmultimedia5-dev qtquickcontrols2-5-dev qttools5-dev qttools5-dev-tools qtdeclarative5-dev
qml-module-qtmultimedia qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qt-labs-platform
qt5keychain-dev ccache clazy libcurl4-openssl-dev libevent-dev libspdlog-dev nlohmann-json3-dev libcmark-dev asciidoc libre2-dev libgtest-dev libgl1-mesa-dev python3 python3-pip python3-setuptools
# Installing the packages needed to build AppImage
- apt-get -yq install breeze-icon-theme desktop-file-utils elfutils fakeroot file gnupg2 gtk-update-icon-cache libgdk-pixbuf2.0-dev libgdk-pixbuf2.0-0 libglib2.0-bin librsvg2-dev libyaml-dev strace zsync squashfs-tools
- wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool && \
- chmod +x /usr/local/bin/appimagetool
- python3 -m pip install --upgrade pip
- pip3 install appimage-builder
- /usr/sbin/update-ccache-symlinks
- rm -rf ../.hunter && mv .hunter ../.hunter || true
script:
- export PATH="/usr/local/bin/:/usr/lib/ccache:${PATH}"
- cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -GNinja
-DHUNTER_ROOT=".hunter"
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF
-DVOIP=OFF
-DMAN=OFF
-DCI_BUILD=ON
-DHUNTER_CONFIGURATION_TYPES=Release
-DUSE_BUNDLED_SPDLOG=ON
-DUSE_BUNDLED_OLM=ON
-DUSE_BUNDLED_GTEST=OFF
-DUSE_BUNDLED_CMARK=ON
-DUSE_BUNDLED_JSON=ON
-DUSE_BUNDLED_OPENSSL=ON
-DUSE_BUNDLED_MTXCLIENT=ON
-DUSE_BUNDLED_LMDB=OFF
-DUSE_BUNDLED_LMDBXX=ON
-DUSE_BUNDLED_QTKEYCHAIN=OFF
-DUSE_BUNDLED_LIBEVENT=ON
-DUSE_BUNDLED_LIBCURL=ON
-DUSE_BUNDLED_COEURL=ON
-DJSON_ImplicitConversions=OFF
- DESTDIR=`pwd`/AppDir ninja -C build install/local
- DESTDIR=`pwd`/AppDir ninja -C build _deps/cmark-build/src/install
- mkdir -p AppDir/usr/lib/x86_64-linux-gnu AppDir/lib/x86_64-linux-gnu
- appimage-builder --skip-test
after_script:
- bash ./.ci/upload-nightly-gitlab.sh nheko-latest-x86_64.AppImage
artifacts:
paths:
- 'nheko-latest-x86_64.AppImage'
expire_in: 1 week
expose_as: 'appimage-amd64'
cache:
key: "$CI_JOB_NAME"
paths:
- .hunter/
- .ccache
linting:
stage: build
image: alpine:latest
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment