fix: correct YAML indentation in CI workflow — heredoc and inline script content must be indented inside literal block scalars
Build and Release / Validate source (push) Successful in 3m24s
Build and Release / Build (windows) (push) Has been cancelled
Build and Release / Build (linux) (push) Failing after 4m18s
Build and Release / Finalize Release (push) Has been skipped

This commit is contained in:
2026-06-27 04:09:50 +03:00
parent 3f4ddd51e7
commit c2ae25f986
@@ -123,48 +123,48 @@ jobs:
# Desktop entry
cat > "${APPDIR}/${{ env.APP_NAME }}.desktop" << DESKTOP_EOF
[Desktop Entry]
Name=Warlock Studio
Comment=AI-powered video upscaling, restoration and frame interpolation
Exec=Warlock-Studio
Icon=warlock-studio
Terminal=false
Type=Application
Categories=Graphics;Video;AudioVideo;
DESKTOP_EOF
[Desktop Entry]
Name=Warlock Studio
Comment=AI-powered video upscaling, restoration and frame interpolation
Exec=Warlock-Studio
Icon=warlock-studio
Terminal=false
Type=Application
Categories=Graphics;Video;AudioVideo;
DESKTOP_EOF
# AppRun — entry point
cat > "${APPDIR}/AppRun" << 'APPRUN_EOF'
#!/bin/bash
HERE="$(dirname "$(readlink -f "$0")")"
export PATH="${HERE}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HERE}/usr/bin/_internal:${LD_LIBRARY_PATH}"
exec "${HERE}/usr/bin/Warlock-Studio" "$@"
APPRUN_EOF
#!/bin/bash
HERE="$(dirname "$(readlink -f "$0")")"
export PATH="${HERE}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HERE}/usr/bin/_internal:${LD_LIBRARY_PATH}"
exec "${HERE}/usr/bin/Warlock-Studio" "$@"
APPRUN_EOF
chmod +x "${APPDIR}/AppRun"
# Icon: try to convert .ico, fallback to placeholder PNG
if command -v python3 &>/dev/null; then
python3 << 'PYEOF'
import os, base64
apdir = os.environ.get('APPDIR', 'dist/Warlock-Studio.AppDir')
png_path = os.path.join(apdir, 'warlock-studio.png')
# Write a 48x48 transparent PNG as icon placeholder
with open(png_path, 'wb') as f:
f.write(base64.b64decode(
'iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB'
'WElEQVRoQ+2YOw7CMBBEQ0WHaDgBByDhCBScgAMQdFScgJoj0HABQqJAwk0CQhL5s5KVj0rs'
'2LFj165nRzL9f+cBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoj8iMhJ'
'AL4AZACYi0gSkQKAOwDc3H0AUJQdAHBXROSdSaYAQB3D1N0BoO6fA+DuTQA4m80uALABAGd3'
'B4Cq+yf7o+sEAK7uDgBZ3QcAOAB0R5hPJpPl9/t9X5bldz6fdwCw2+2+6v5RluUDABaLxUvd'
'P8uyvANARIRlWX4BwGaz+aymKYviiYhwdV+O4xjeK6WkqioCgLu7EEKIiMy6rrsCQFXViYik'
'lHijASGEMKZq3meMRNM0KaV0mE6nJymlMwCklNLUhMPhoOu6LgBQKUUppTTFQMYYSimlqQbd'
'b5RS4t2IiIgaY4wx8toYoymlNE1ozzljjAYAgKPRSNV9DgAiYowx3ogBACEEz+fzEwDyPM/b'
'tj0BQNM0eZq238LD4A8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhgAJ3F'
'Af+7OiaAAAAASUVORK5CYII='
))
print(f'Icon written: {png_path}')
PYEOF
import os, base64
apdir = os.environ.get('APPDIR', 'dist/Warlock-Studio.AppDir')
png_path = os.path.join(apdir, 'warlock-studio.png')
# Write a 48x48 transparent PNG as icon placeholder
with open(png_path, 'wb') as f:
f.write(base64.b64decode(
'iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB'
'WElEQVRoQ+2YOw7CMBBEQ0WHaDgBByDhCBScgAMQdFScgJoj0HABQqJAwk0CQhL5s5KVj0rs'
'2LFj165nRzL9f+cBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoj8iMhJ'
'AL4AZACYi0gSkQKAOwDc3H0AUJQdAHBXROSdSaYAQB3D1N0BoO6fA+DuTQA4m80uALABAGd3'
'B4Cq+yf7o+sEAK7uDgBZ3QcAOAB0R5hPJpPl9/t9X5bldz6fdwCw2+2+6v5RluUDABaLxUvd'
'P8uyvANARIRlWX4BwGaz+aymKYviiYhwdV+O4xjeK6WkqioCgLu7EEKIiMy6rrsCQFXViYik'
'lHijASGEMKZq3meMRNM0KaV0mE6nJymlMwCklNLUhMPhoOu6LgBQKUUppTTFQMYYSimlqQbd'
'b5RS4t2IiIgaY4wx8toYoymlNE1ozzljjAYAgKPRSNV9DgAiYowx3ogBACEEz+fzEwDyPM/b'
'tj0BQNM0eZq238LD4A8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhgAJ3F'
'Af+7OiaAAAAASUVORK5CYII='
))
print(f'Icon written: {png_path}')
PYEOF
fi
# Download appimagetool
@@ -326,16 +326,16 @@ PYEOF
"${server}/api/v1/repos/${repo}/releases?tag=${tag}")
echo "Release info:"
echo "${releases}" | python3 -c "
import sys,json
data=json.load(sys.stdin)
if isinstance(data,list) and len(data)>0:
r=data[0]
print(f\" ID: {r['id']}\")
print(f\" Tag: {r['tag_name']}\")
print(f\" Name: {r['name']}\")
print(f\" Assets: {len(r.get('assets',[]))}\")
for a in r.get('assets',[]):
print(f\" - {a['name']} ({a['size']} bytes)\")
else:
print(' No release found for tag ' + tag)
" 2>/dev/null || echo " Could not parse release data"
import sys,json
data=json.load(sys.stdin)
if isinstance(data,list) and len(data)>0:
r=data[0]
print(f\" ID: {r['id']}\")
print(f\" Tag: {r['tag_name']}\")
print(f\" Name: {r['name']}\")
print(f\" Assets: {len(r.get('assets',[]))}\")
for a in r.get('assets',[]):
print(f\" - {a['name']} ({a['size']} bytes)\")
else:
print(' No release found for tag ' + tag)
" 2>/dev/null || echo " Could not parse release data"