remove: AppImage generation to fix CI upload issues

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-09-21 12:14:37 +10:00
parent aab3b9eb39
commit dfd256a29f

View File

@@ -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