v3.14.0
gh release create previously fell back to 'gh release upload' via ||, so a failed asset push left an empty release while the job still succeeded (v3.14.0 published with 0 assets). Now: if the release exists, wipe its assets and re-upload everything; otherwise create it with all files. Any upload failure fails the job.