fix: replace heredocs with printf to avoid shell heredoc delimiter indentation conflict with YAML block scalar
Build and Release / Validate source (push) Successful in 1m21s
Build and Release / Build (linux) (push) Failing after 6m28s
Build and Release / Finalize Release (push) Has been skipped
Build and Release / Build (windows) (push) Has been cancelled

This commit is contained in:
2026-06-27 04:24:57 +03:00
parent c2ae25f986
commit 746e655ba0
+37 -37
View File
@@ -122,49 +122,49 @@ jobs:
cp -r "dist/${{ env.APP_NAME }}"/* "${APPDIR}/usr/bin/" cp -r "dist/${{ env.APP_NAME }}"/* "${APPDIR}/usr/bin/"
# Desktop entry # Desktop entry
cat > "${APPDIR}/${{ env.APP_NAME }}.desktop" << DESKTOP_EOF printf '%s\n' \
[Desktop Entry] '[Desktop Entry]' \
Name=Warlock Studio 'Name=Warlock Studio' \
Comment=AI-powered video upscaling, restoration and frame interpolation 'Comment=AI-powered video upscaling, restoration and frame interpolation' \
Exec=Warlock-Studio 'Exec=Warlock-Studio' \
Icon=warlock-studio 'Icon=warlock-studio' \
Terminal=false 'Terminal=false' \
Type=Application 'Type=Application' \
Categories=Graphics;Video;AudioVideo; 'Categories=Graphics;Video;AudioVideo;' \
DESKTOP_EOF > "${APPDIR}/${{ env.APP_NAME }}.desktop"
# AppRun — entry point # AppRun — entry point
cat > "${APPDIR}/AppRun" << 'APPRUN_EOF' printf '%s\n' \
#!/bin/bash '#!/bin/bash' \
HERE="$(dirname "$(readlink -f "$0")")" 'HERE="$(dirname "$(readlink -f "$0")")"' \
export PATH="${HERE}/usr/bin:${PATH}" 'export PATH="${HERE}/usr/bin:${PATH}"' \
export LD_LIBRARY_PATH="${HERE}/usr/bin/_internal:${LD_LIBRARY_PATH}" 'export LD_LIBRARY_PATH="${HERE}/usr/bin/_internal:${LD_LIBRARY_PATH}"' \
exec "${HERE}/usr/bin/Warlock-Studio" "$@" 'exec "${HERE}/usr/bin/Warlock-Studio" "$@"' \
APPRUN_EOF > "${APPDIR}/AppRun"
chmod +x "${APPDIR}/AppRun" chmod +x "${APPDIR}/AppRun"
# Icon: try to convert .ico, fallback to placeholder PNG # Icon: try to convert .ico, fallback to placeholder PNG
if command -v python3 &>/dev/null; then if command -v python3 &>/dev/null; then
python3 << 'PYEOF' printf '%s\n' \
import os, base64 'import os, base64' \
apdir = os.environ.get('APPDIR', 'dist/Warlock-Studio.AppDir') 'apdir = os.environ.get("APPDIR", "dist/Warlock-Studio.AppDir")' \
png_path = os.path.join(apdir, 'warlock-studio.png') 'png_path = os.path.join(apdir, "warlock-studio.png")' \
# Write a 48x48 transparent PNG as icon placeholder 'with open(png_path, "wb") as f:' \
with open(png_path, 'wb') as f: ' f.write(base64.b64decode(' \
f.write(base64.b64decode( " 'iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB'" \
'iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB' " 'WElEQVRoQ+2YOw7CMBBEQ0WHaDgBByDhCBScgAMQdFScgJoj0HABQqJAwk0CQhL5s5KVj0rs'" \
'WElEQVRoQ+2YOw7CMBBEQ0WHaDgBByDhCBScgAMQdFScgJoj0HABQqJAwk0CQhL5s5KVj0rs' " '2LFj165nRzL9f+cBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoj8iMhJ'" \
'2LFj165nRzL9f+cBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoj8iMhJ' " 'AL4AZACYi0gSkQKAOwDc3H0AUJQdAHBXROSdSaYAQB3D1N0BoO6fA+DuTQA4m80uALABAGd3'" \
'AL4AZACYi0gSkQKAOwDc3H0AUJQdAHBXROSdSaYAQB3D1N0BoO6fA+DuTQA4m80uALABAGd3' " 'B4Cq+yf7o+sEAK7uDgBZ3QcAOAB0R5hPJpPl9/t9X5bldz6fdwCw2+2+6v5RluUDABaLxUvd'" \
'B4Cq+yf7o+sEAK7uDgBZ3QcAOAB0R5hPJpPl9/t9X5bldz6fdwCw2+2+6v5RluUDABaLxUvd' " 'P8uyvANARIRlWX4BwGaz+aymKYviiYhwdV+O4xjeK6WkqioCgLu7EEKIiMy6rrsCQFXViYik'" \
'P8uyvANARIRlWX4BwGaz+aymKYviiYhwdV+O4xjeK6WkqioCgLu7EEKIiMy6rrsCQFXViYik' " 'lHijASGEMKZq3meMRNM0KaV0mE6nJymlMwCklNLUhMPhoOu6LgBQKUUppTTFQMYYSimlqQbd'" \
'lHijASGEMKZq3meMRNM0KaV0mE6nJymlMwCklNLUhMPhoOu6LgBQKUUppTTFQMYYSimlqQbd' " 'b5RS4t2IiIgaY4wx8toYoymlNE1ozzljjAYAgKPRSNV9DgAiYowx3ogBACEEz+fzEwDyPM/b'" \
'b5RS4t2IiIgaY4wx8toYoymlNE1ozzljjAYAgKPRSNV9DgAiYowx3ogBACEEz+fzEwDyPM/b' " 'tj0BQNM0eZq238LD4A8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhgAJ3F'" \
'tj0BQNM0eZq238LD4A8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhgAJ3F' " 'Af+7OiaAAAAASUVORK5CYII='" \
'Af+7OiaAAAAASUVORK5CYII=' '))' \
)) "print(f'Icon written: {png_path}')" \
print(f'Icon written: {png_path}') > /tmp/gen_icon.py
PYEOF python3 /tmp/gen_icon.py
fi fi
# Download appimagetool # Download appimagetool