From baf7a4a99d578c01969686b643380c0326cf48b5 Mon Sep 17 00:00:00 2001 From: Julian Cuni Date: Thu, 3 Sep 2026 10:26:17 +0200 Subject: [PATCH] fix(release): strip spaces from bundle filenames before upload productName "Parking System" produces installer filenames with a literal space (e.g. "Parking System_0.1.0_amd64.deb"). curl rejected the resulting asset-upload URL outright on the first real v0.1.0 release ("Malformed input to a URL function"), before the job ever reached the new public_releases mirror step. Sanitized on copy into dist/. --- .gitea/workflows/release.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 6d9b325..c49bc2f 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -85,14 +85,23 @@ jobs: - name: Collect artifacts id: collect - # Gather the installers + their .sig into a flat dist/ for upload. + # Gather the installers + their .sig into a flat dist/ for upload, spaces + # stripped from filenames. productName is "Parking System" (a space), so + # Tauri's bundle output is e.g. "Parking System_0.1.0_amd64.deb" — an + # unescaped space in a filename breaks the later curl asset-upload URL + # ("URL rejected: Malformed input to a URL function", hit on the very + # first v0.1.0 release) AND would land in latest.json's asset url, which + # the updater's plain HTTP GET can't handle either. Rename on copy. run: | set -e BUNDLE=apps/desktop/src-tauri/target/release/bundle mkdir -p dist find "$BUNDLE" \( -name '*.AppImage' -o -name '*.deb' -o -name '*.rpm' \ -o -name '*.AppImage.sig' -o -name '*.deb.sig' -o -name '*.rpm.sig' \) \ - -exec cp {} dist/ \; + -print0 | while IFS= read -r -d '' f; do + name=$(basename "$f" | tr ' ' '-') + cp "$f" "dist/${name}" + done echo "Artifacts:"; ls -la dist/ - name: Assemble latest.json