Simplify package-linux job to use single build artifact

The package job was failing because it expected multiple build directories
(build, build-steamdeck, build-compat) but all build jobs upload to the
same 'build/' path, causing artifacts to overwrite each other.

Simplified approach:
- Only depend on build-linux job artifact
- Create single AppImage from available build
- Updated package.json structure to reflect single AppImage
- Fixed checksum generation to handle missing AppImages gracefully
- Removed complex multi-build logic that wasn't working

This focuses on getting one working AppImage rather than multiple
variants that were conflicting with each other.
This commit is contained in:
Zephyron
2025-09-22 16:09:35 +10:00
parent 87ec67a473
commit 8f54e9411d

View File

@@ -377,8 +377,6 @@ package-linux:
- citron-build
dependencies:
- build-linux
- build-linux-steamdeck
- build-linux-compat
before_script:
- *get_version_info
- *create_release_notes
@@ -390,35 +388,16 @@ package-linux:
mkdir -p packages
cd packages
# Create AppImages for each build
for build_type in "generic" "steamdeck" "compat"; do
echo "Creating AppImage for ${build_type}..."
# Set build directory based on type
case $build_type in
"generic")
BUILD_DIR="../build"
ARCH_SUFFIX="anylinux"
;;
"steamdeck")
BUILD_DIR="../build-steamdeck"
ARCH_SUFFIX="steamdeck"
;;
"compat")
BUILD_DIR="../build-compat"
ARCH_SUFFIX="compat"
;;
esac
# Create AppImage
if [ -d "$BUILD_DIR/bin" ]; then
cd ../AppImageBuilder
./build.sh "$BUILD_DIR" "../packages/Citron-${VERSION_NAME}-${ARCH_SUFFIX}-x86_64.AppImage"
cd ../packages
else
echo "Build directory $BUILD_DIR not found, skipping..."
fi
done
# Create AppImage from available build
if [ -d "../build/bin" ]; then
echo "Creating AppImage from available build..."
cd ../AppImageBuilder
./build.sh "../build" "../packages/Citron-${VERSION_NAME}-anylinux-x86_64.AppImage"
cd ../packages
else
echo "Build directory ../build/bin not found, skipping AppImage creation..."
ls -la ../build/ || echo "No build directory found"
fi
# Create source archive
cd ..
@@ -426,7 +405,11 @@ package-linux:
# Create checksums
cd packages
sha256sum *.AppImage *.tar.gz > checksums.txt
if ls *.AppImage 1> /dev/null 2>&1; then
sha256sum *.AppImage *.tar.gz > checksums.txt
else
sha256sum *.tar.gz > checksums.txt
fi
# Create package info
cat > package-info.json << EOF
@@ -439,9 +422,7 @@ package-linux:
"git_branch": "${GIT_BRANCH}",
"packages": {
"linux": {
"generic": "Citron-${VERSION_NAME}-anylinux-x86_64.AppImage",
"steamdeck": "Citron-${VERSION_NAME}-steamdeck-x86_64.AppImage",
"compatibility": "Citron-${VERSION_NAME}-compat-x86_64.AppImage"
"appimage": "Citron-${VERSION_NAME}-anylinux-x86_64.AppImage"
},
"source": "citron-${VERSION_NAME}-source.tar.gz"
}