mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-07 08:27:12 +00:00
The release push raced any commit that landed on main while the release smoke ran (~15 minutes): git push was rejected as non-fast-forward and the whole release failed, as seen on the v0.332.0-nightly.1 attempt. Worse, the push was not atomic — if the tag ref had been accepted while the main ref was rejected, the release would have shipped from an orphan commit and main would never have received the version bump. Make the push atomic (both refs or neither) and add a bounded rescue loop: on rejection, drop the bump commit and tag this run created, fast-forward onto the updated origin/main, recompute the version against freshly fetched tags, and rebuild the bump commit on the new tip. The fast-forward uses --ff-only so a genuinely diverged local main (unpushed commits) fails loudly instead of being reset away. The retried tag can include commits the smoke did not test; those commits passed CI to land on main, and the Release workflow re-runs the full test suite on the tagged commit before publishing anything. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| components | ||
| foundation | ||
| packages/fabro-api-client | ||