Skip to content

fix release workflow: use softprops/action-gh-release for latest tag#498

Merged
cs01 merged 1 commit intomainfrom
fix-release
Apr 13, 2026
Merged

fix release workflow: use softprops/action-gh-release for latest tag#498
cs01 merged 1 commit intomainfrom
fix-release

Conversation

@cs01
Copy link
Copy Markdown
Owner

@cs01 cs01 commented Apr 13, 2026

Summary

The `install.sh` download URL returned 404 after PR #497 merged because the `latest` release ended up stuck in draft state with its tag disconnected from any commit (URL was `/releases/tag/untagged-aae38c13828ddbf9ef52`). Manually re-published it to unblock users.

Root cause: the `release` job's two-step "delete old release with `--cleanup-tag`, then create new release" pattern has a race condition. If the tag cleanup hasn't propagated by the time `gh release create latest` runs, the new release is created in a partial state — no tag attachment, ends up as draft. The `|| true` on the delete step hid any signal that this happened, so the job still reported success.

Fix

Replace the two-step delete/create with a single `softprops/action-gh-release@v2` step. The action talks to the GitHub Releases API directly and handles the create-or-update-by-tag flow atomically — no race window. The `tagged-release` job in the same file already uses this action, so this brings both release paths in sync.

  • Drops 20 lines, adds 9.
  • Explicit `tag_name: latest`, `make_latest: "true"`, and `target_commitish: ${{ github.sha }}` so the tag always attaches to the commit that triggered the workflow.

What users see

Test plan

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results (Linux x86-64)

Benchmark C ChadScript Go Node Bun Place
Binary Trees 1.643s 1.257s 2.733s 1.266s 1.091s 🥈
Cold Start 0.8ms 1.0ms 1.2ms 29.9ms 10.4ms 🥈
Fibonacci 0.908s 1.417s 1.732s 3.369s 2.072s 🥈
File I/O 0.091s 0.095s 0.091s 0.175s 0.207s 🥉
JSON Parse/Stringify 0.004s 0.005s 0.016s 0.014s 0.007s 🥈
Matrix Multiply 0.489s 0.739s 0.782s 0.428s 0.418s #4
Monte Carlo Pi 0.439s 0.440s 0.457s 2.591s 6.491s 🥈
N-Body Simulation 1.750s 2.252s 2.290s 2.406s 3.333s 🥈
Quicksort 0.246s 0.283s 0.242s 0.296s 0.261s #4
SQLite 0.327s 0.377s 0.411s 0.401s 🥈
Sieve of Eratosthenes 0.014s 0.027s 0.020s 0.042s 0.039s 🥉
String Manipulation 0.010s 0.044s 0.015s 0.044s 0.031s #4

CLI Tool Benchmarks

Benchmark ChadScript grep node xxd Place
Hex Dump 0.429s 0.983s 0.141s 🥈
Recursive Grep 0.022s 0.012s 0.102s 🥈

@cs01 cs01 merged commit 13514af into main Apr 13, 2026
13 checks passed
@cs01 cs01 deleted the fix-release branch April 13, 2026 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant