ci(release): URL-encode asset name + clean existing assets on re-run #7

Merged
jmz merged 1 commit from maximus/fix/release-asset-name-encoding into main 2026-05-07 00:03:33 +00:00
Owner

Run 1484 succeeded but produced asset filenames with spaces (tea-v0.14.0 mirus.1-linux-arm64.tar.gz) because the upload's ?name= query parameter wasn't URL-encoded — + got form-decoded to space. Binary contents are correct (./tea --version0.14.0+mirus.1).

Two fixes:

  1. URL-encode the asset name in the upload URL.
  2. Delete existing assets before upload so re-runs produce clean state.

After merge: cherry-pick to release/mirus, delete the misnamed assets on the existing release (or just retag and let the new clean step handle it), retag at the new HEAD.

Run 1484 succeeded but produced asset filenames with **spaces** (`tea-v0.14.0 mirus.1-linux-arm64.tar.gz`) because the upload's `?name=` query parameter wasn't URL-encoded — `+` got form-decoded to space. Binary contents are correct (`./tea --version` → `0.14.0+mirus.1`). Two fixes: 1. URL-encode the asset name in the upload URL. 2. Delete existing assets before upload so re-runs produce clean state. After merge: cherry-pick to release/mirus, delete the misnamed assets on the existing release (or just retag and let the new clean step handle it), retag at the new HEAD.
ci(release): URL-encode asset name query + clean existing assets on re-run
All checks were successful
check / check (pull_request) Successful in 1m4s
check / check (push) Successful in 55s
45d08d79a6
Two fixes for run 1484's residue:

1. Asset upload's ?name= query parameter wasn't URL-encoded. The +
   in 'v0.14.0+mirus.1' got form-decoded to a space, producing assets
   named 'tea-v0.14.0 mirus.1-linux-arm64.tar.gz' instead of
   'tea-v0.14.0+mirus.1-linux-arm64.tar.gz'. The binaries themselves
   were correct (verified locally: ./tea --version → 0.14.0+mirus.1);
   only the asset filenames on the Release page were wrong.

2. Re-runs of the workflow on the same tag now delete existing
   assets before uploading — without this, retrying after a partial
   failure accumulates duplicate-but-misnamed assets.
jmz merged commit 45d08d79a6 into main 2026-05-07 00:03:33 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
public/tea!7
No description provided.