release: -fsS and --fail-with-body are mutually exclusive #58
No reviewers
Labels
No labels
area:defold
area:docs
area:infra
area:protocol
area:testing
kind:bug
kind:chore
phase:breadth
phase:core
phase:hardening
phase:slice
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
yuris/spacetimedb-defold!58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/release-curl"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The v1.0.0 release job failed outright on this, and it was introduced by #57 one commit earlier.
curltreats--fail-with-bodyas superseding--fail, so passing both is a usage error rather than a warning:Local curl only warns —
--fail deselects --fail-with-body here— and proceeds, which is exactly why this got past a dry run that rendered the body correctly. The runner's curl is fatal. The fix is-sS, not-fsS, with the reason recorded in a comment so it does not come back.Only the POST is affected. The tag-annotation read keeps plain
-fsSL, which is correct there: it has no body worth printing and must abort before the POST.Nothing was published, and that was by design
The failure landed on the single mutating call, so the no half-publish path property #57's review verified held exactly as described: the tag existed with no release object, and deleting the tag left nothing to clean up. The annotation read, the
[ -n "$BODY" ]guard andjq -n --argall ran fine — the run got as far as the POST, which is the last thing it does.How this is verified this time
Rendering the script locally was not enough, because the two curls behave differently on two curl versions. So:
bash -non the extracted script, a check that--fail-with-bodyappears on the POST and nowhere else, and confirmation that the tag read still uses-fsSL. The tag will be re-cut at a commit that contains this fix, so the workflow that runs is the one being reviewed here rather than an older tree.The v1.0.0 release job failed outright on this, and it was my own doing one commit earlier. curl treats --fail-with-body as superseding --fail, so passing both is a usage error, not a warning: curl: option --fail-with-body: is badly used here exitcode '2': failure Local curl only warns ('--fail deselects --fail-with-body here') and proceeds, which is why it was not caught before pushing the tag. The runner's is fatal. Nothing was published: the failure happened at the single mutating call, so the 'no half-publish path' property held exactly as reviewed - the tag existed with no release object, and deleting the tag left nothing to clean up.