mirror of
https://git.citron-emu.org/citron/emulator
synced 2026-02-01 07:13:33 +00:00
remove: AppImage generation to fix CI upload issues
Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
100
.gitlab-ci.yml
100
.gitlab-ci.yml
@@ -18,6 +18,7 @@ cache:
|
||||
key: "$CI_COMMIT_REF_SLUG"
|
||||
policy: pull-push
|
||||
|
||||
|
||||
# Linux Build (CachyOS optimized)
|
||||
build-linux:
|
||||
stage: build
|
||||
@@ -27,6 +28,7 @@ build-linux:
|
||||
before_script:
|
||||
- pacman -Syu --noconfirm
|
||||
- pacman -S --noconfirm alsa-lib base-devel boost boost-libs catch2 cmake curl ffmpeg fmt fuse2 gamemode gcc gdb git glslang glu libusb libxi libxkbcommon libxkbcommon-x11 libxss libzip lz4 mbedtls2 mesa nasm ninja nlohmann-json openal openssl opus perl pipewire-audio pulseaudio pulseaudio-alsa qt5-base qt5-imageformats qt5-multimedia qt5-tools qt5-wayland qt5ct sdl2 sdl2-compat unzip vulkan-headers vulkan-icd-loader vulkan-mesa-layers wget xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xorg-server-xvfb zip zstd zsync
|
||||
# Create shasum compatibility wrapper for AppImage build
|
||||
- echo '#!/bin/bash' > /usr/local/bin/shasum
|
||||
- echo 'if [ "$1" = "-a" ] && [ "$2" = "256" ]; then' >> /usr/local/bin/shasum
|
||||
- echo ' shift 2' >> /usr/local/bin/shasum
|
||||
@@ -36,6 +38,7 @@ build-linux:
|
||||
- echo 'fi' >> /usr/local/bin/shasum
|
||||
- chmod +x /usr/local/bin/shasum
|
||||
script:
|
||||
# Clean and reset submodules to handle any inconsistencies
|
||||
- git submodule deinit --all --force || true
|
||||
- git submodule update --init --recursive --force
|
||||
- mkdir -p build && cd build
|
||||
@@ -47,39 +50,14 @@ build-linux:
|
||||
- find build/ -name "*.so" -o -name "citron*" | head -20 || echo "No shared libraries or executables found"
|
||||
- echo "Checking library dependencies..."
|
||||
- ldd build/bin/citron || echo "citron binary not found or ldd failed"
|
||||
- chmod +x AppImage-build-local.sh
|
||||
- echo "Attempting AppImage build with FUSE workaround..."
|
||||
- export APPIMAGE_EXTRACT_AND_RUN=1
|
||||
- export ARCH=x86_64
|
||||
- export VERSION=$(git describe --tags --always)
|
||||
- echo "Testing shasum compatibility..."
|
||||
- which shasum || echo "shasum not found in PATH"
|
||||
- echo "Testing shasum -a 256 syntax..."
|
||||
- echo "test" | shasum -a 256 || echo "shasum -a 256 failed"
|
||||
- echo "test" | sha256sum || echo "sha256sum failed"
|
||||
- echo "Running AppImage build..."
|
||||
- ./AppImage-build-local.sh || echo "AppImage build failed, continuing..."
|
||||
- ls -la *.AppImage || echo "No AppImage files found"
|
||||
- echo "AppImage size information:"
|
||||
- du -h *.AppImage || echo "No AppImage to measure"
|
||||
- echo "Total artifact size:"
|
||||
- du -sh citron.AppImage build/bin/citron 2>/dev/null || echo "Cannot measure artifact sizes"
|
||||
- echo "Compressing AppImage for upload..."
|
||||
- gzip -9 -c citron.AppImage > citron.AppImage.gz
|
||||
- ls -la citron.AppImage.gz
|
||||
- du -h citron.AppImage.gz
|
||||
- echo "AppImage compressed with gzip successfully"
|
||||
- echo "Creating binary archive for upload..."
|
||||
- tar -czf citron-binary.tar.gz build/bin/
|
||||
- ls -la citron-binary.tar.gz
|
||||
- du -h citron-binary.tar.gz
|
||||
- split -b 50M citron.AppImage.gz citron.AppImage.gz.part
|
||||
- ls -la citron.AppImage.gz.part*
|
||||
- echo "AppImage split into chunks for upload"
|
||||
- echo 'Note: To reassemble: cat citron.AppImage.gz.part* > citron.AppImage.gz'
|
||||
- echo "Binary archive created successfully"
|
||||
artifacts:
|
||||
paths:
|
||||
- citron-binary.tar.gz
|
||||
- citron.AppImage.gz.part*
|
||||
expire_in: 1 week
|
||||
when: always
|
||||
only:
|
||||
@@ -99,6 +77,7 @@ build-linux-v3:
|
||||
before_script:
|
||||
- pacman -Syu --noconfirm
|
||||
- pacman -S --noconfirm alsa-lib base-devel boost boost-libs catch2 cmake curl ffmpeg fmt fuse2 gamemode gcc gdb git glslang glu libusb libxi libxkbcommon libxkbcommon-x11 libxss libzip lz4 mbedtls2 mesa nasm ninja nlohmann-json openal openssl opus perl pipewire-audio pulseaudio pulseaudio-alsa qt5-base qt5-imageformats qt5-multimedia qt5-tools qt5-wayland qt5ct sdl2 sdl2-compat unzip vulkan-headers vulkan-icd-loader vulkan-mesa-layers wget xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xorg-server-xvfb zip zstd zsync
|
||||
# Create shasum compatibility wrapper for AppImage build
|
||||
- echo '#!/bin/bash' > /usr/local/bin/shasum
|
||||
- echo 'if [ "$1" = "-a" ] && [ "$2" = "256" ]; then' >> /usr/local/bin/shasum
|
||||
- echo ' shift 2' >> /usr/local/bin/shasum
|
||||
@@ -108,6 +87,7 @@ build-linux-v3:
|
||||
- echo 'fi' >> /usr/local/bin/shasum
|
||||
- chmod +x /usr/local/bin/shasum
|
||||
script:
|
||||
# Clean and reset submodules to handle any inconsistencies
|
||||
- git submodule deinit --all --force || true
|
||||
- git submodule update --init --recursive --force
|
||||
- mkdir -p build && cd build
|
||||
@@ -119,39 +99,14 @@ build-linux-v3:
|
||||
- find build/ -name "*.so" -o -name "citron*" | head -20 || echo "No shared libraries or executables found"
|
||||
- echo "Checking library dependencies..."
|
||||
- ldd build/bin/citron || echo "citron binary not found or ldd failed"
|
||||
- chmod +x AppImage-build-local.sh
|
||||
- echo "Attempting AppImage build with FUSE workaround..."
|
||||
- export APPIMAGE_EXTRACT_AND_RUN=1
|
||||
- export ARCH=x86_64
|
||||
- export VERSION=$(git describe --tags --always)
|
||||
- echo "Testing shasum compatibility..."
|
||||
- which shasum || echo "shasum not found in PATH"
|
||||
- echo "Testing shasum -a 256 syntax..."
|
||||
- echo "test" | shasum -a 256 || echo "shasum -a 256 failed"
|
||||
- echo "test" | sha256sum || echo "sha256sum failed"
|
||||
- echo "Running AppImage build..."
|
||||
- ./AppImage-build-local.sh || echo "AppImage build failed, continuing..."
|
||||
- ls -la *.AppImage || echo "No AppImage files found"
|
||||
- echo "AppImage size information:"
|
||||
- du -h *.AppImage || echo "No AppImage to measure"
|
||||
- echo "Total artifact size:"
|
||||
- du -sh citron.AppImage build/bin/citron 2>/dev/null || echo "Cannot measure artifact sizes"
|
||||
- echo "Compressing AppImage for upload..."
|
||||
- gzip -9 -c citron.AppImage > citron.AppImage.gz
|
||||
- ls -la citron.AppImage.gz
|
||||
- du -h citron.AppImage.gz
|
||||
- echo "AppImage compressed with gzip successfully"
|
||||
- echo "Creating binary archive for upload..."
|
||||
- tar -czf citron-binary.tar.gz build/bin/
|
||||
- ls -la citron-binary.tar.gz
|
||||
- du -h citron-binary.tar.gz
|
||||
- split -b 50M citron.AppImage.gz citron.AppImage.gz.part
|
||||
- ls -la citron.AppImage.gz.part*
|
||||
- echo "AppImage split into chunks for upload"
|
||||
- echo 'Note: To reassemble: cat citron.AppImage.gz.part* > citron.AppImage.gz'
|
||||
- echo "Binary archive created successfully"
|
||||
artifacts:
|
||||
paths:
|
||||
- citron-binary.tar.gz
|
||||
- citron.AppImage.gz.part*
|
||||
expire_in: 1 week
|
||||
when: always
|
||||
only:
|
||||
@@ -171,6 +126,7 @@ build-linux-steamdeck:
|
||||
before_script:
|
||||
- pacman -Syu --noconfirm
|
||||
- pacman -S --noconfirm alsa-lib base-devel boost boost-libs catch2 cmake curl ffmpeg fmt fuse2 gamemode gcc gdb git glslang glu libusb libxi libxkbcommon libxkbcommon-x11 libxss libzip lz4 mbedtls2 mesa nasm ninja nlohmann-json openal openssl opus perl pipewire-audio pulseaudio pulseaudio-alsa qt5-base qt5-imageformats qt5-multimedia qt5-tools qt5-wayland qt5ct sdl2 sdl2-compat unzip vulkan-headers vulkan-icd-loader vulkan-mesa-layers wget xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xorg-server-xvfb zip zstd zsync
|
||||
# Create shasum compatibility wrapper for AppImage build
|
||||
- echo '#!/bin/bash' > /usr/local/bin/shasum
|
||||
- echo 'if [ "$1" = "-a" ] && [ "$2" = "256" ]; then' >> /usr/local/bin/shasum
|
||||
- echo ' shift 2' >> /usr/local/bin/shasum
|
||||
@@ -180,6 +136,7 @@ build-linux-steamdeck:
|
||||
- echo 'fi' >> /usr/local/bin/shasum
|
||||
- chmod +x /usr/local/bin/shasum
|
||||
script:
|
||||
# Clean and reset submodules to handle any inconsistencies
|
||||
- git submodule deinit --all --force || true
|
||||
- git submodule update --init --recursive --force
|
||||
- mkdir -p build && cd build
|
||||
@@ -191,39 +148,14 @@ build-linux-steamdeck:
|
||||
- find build/ -name "*.so" -o -name "citron*" | head -20 || echo "No shared libraries or executables found"
|
||||
- echo "Checking library dependencies..."
|
||||
- ldd build/bin/citron || echo "citron binary not found or ldd failed"
|
||||
- chmod +x AppImage-build-local.sh
|
||||
- echo "Attempting AppImage build with FUSE workaround..."
|
||||
- export APPIMAGE_EXTRACT_AND_RUN=1
|
||||
- export ARCH=x86_64
|
||||
- export VERSION=$(git describe --tags --always)
|
||||
- echo "Testing shasum compatibility..."
|
||||
- which shasum || echo "shasum not found in PATH"
|
||||
- echo "Testing shasum -a 256 syntax..."
|
||||
- echo "test" | shasum -a 256 || echo "shasum -a 256 failed"
|
||||
- echo "test" | sha256sum || echo "sha256sum failed"
|
||||
- echo "Running AppImage build..."
|
||||
- ./AppImage-build-local.sh || echo "AppImage build failed, continuing..."
|
||||
- ls -la *.AppImage || echo "No AppImage files found"
|
||||
- echo "AppImage size information:"
|
||||
- du -h *.AppImage || echo "No AppImage to measure"
|
||||
- echo "Total artifact size:"
|
||||
- du -sh citron.AppImage build/bin/citron 2>/dev/null || echo "Cannot measure artifact sizes"
|
||||
- echo "Compressing AppImage for upload..."
|
||||
- gzip -9 -c citron.AppImage > citron.AppImage.gz
|
||||
- ls -la citron.AppImage.gz
|
||||
- du -h citron.AppImage.gz
|
||||
- echo "AppImage compressed with gzip successfully"
|
||||
- echo "Creating binary archive for upload..."
|
||||
- tar -czf citron-binary.tar.gz build/bin/
|
||||
- ls -la citron-binary.tar.gz
|
||||
- du -h citron-binary.tar.gz
|
||||
- split -b 50M citron.AppImage.gz citron.AppImage.gz.part
|
||||
- ls -la citron.AppImage.gz.part*
|
||||
- echo "AppImage split into chunks for upload"
|
||||
- echo 'Note: To reassemble: cat citron.AppImage.gz.part* > citron.AppImage.gz'
|
||||
- echo "Binary archive created successfully"
|
||||
artifacts:
|
||||
paths:
|
||||
- citron-binary.tar.gz
|
||||
- citron.AppImage.gz.part*
|
||||
expire_in: 1 week
|
||||
when: always
|
||||
only:
|
||||
@@ -243,6 +175,7 @@ build-android:
|
||||
before_script:
|
||||
- apt-get update -qq
|
||||
- apt-get install -y -qq openjdk-17-jdk wget unzip curl git cmake build-essential pkg-config zip glslang-tools
|
||||
# Install Android SDK (latest version for Ubuntu 24.04)
|
||||
- wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
||||
- unzip -q commandlinetools-linux-11076708_latest.zip
|
||||
- mkdir -p android-sdk/cmdline-tools
|
||||
@@ -251,10 +184,12 @@ build-android:
|
||||
- export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
|
||||
- printf "y\ny\ny\ny\ny\ny\ny\n" | sdkmanager --licenses || true
|
||||
- sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
|
||||
# Install Android NDK
|
||||
- wget -q https://dl.google.com/android/repository/android-ndk-r26b-linux.zip
|
||||
- unzip -q android-ndk-r26b-linux.zip
|
||||
- export ANDROID_NDK_HOME=$PWD/android-ndk-r26b
|
||||
script:
|
||||
# Clean and reset submodules to handle any inconsistencies
|
||||
- git submodule deinit --all --force || true
|
||||
- git submodule update --init --recursive --force
|
||||
- cmake -B build-android -S . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-30 -DENABLE_QT=OFF -DENABLE_SDL2=OFF -DENABLE_WEB_SERVICE=OFF -DCITRON_USE_BUNDLED_VCPKG=ON -DCITRON_USE_BUNDLED_FFMPEG=ON -DANDROID_ARM_NEON=ON -DCITRON_ENABLE_LTO=ON
|
||||
@@ -271,7 +206,7 @@ build-android:
|
||||
- develop
|
||||
- ci-fixes
|
||||
- merge_requests
|
||||
allow_failure: true
|
||||
allow_failure: true # Allow failure if Android runner not available
|
||||
|
||||
# Unit Tests
|
||||
test-unit:
|
||||
@@ -283,6 +218,7 @@ test-unit:
|
||||
- apt-get update -qq
|
||||
- apt-get install -y -qq build-essential cmake ninja-build git
|
||||
script:
|
||||
# Clean and reset submodules to handle any inconsistencies
|
||||
- git submodule deinit --all --force || true
|
||||
- git submodule update --init --recursive --force
|
||||
- cmake -B build-test -S . -DCMAKE_BUILD_TYPE=Debug -DCITRON_TESTS=ON -DENABLE_QT=OFF -DENABLE_SDL2=OFF -DENABLE_WEB_SERVICE=OFF
|
||||
|
||||
Reference in New Issue
Block a user