curl exit 3 (malformed URL) on 'J621 Setup 0.1.1.exe': percent-encode the asset name in the query string. Also replace assets instead of skipping them on re-runs: NSIS builds are not bit-reproducible, so latest.yml/latest-linux.yml must reference the installers produced by the same run. Existing assets are deleted by id before the fresh upload.