Make recipe release atomic #683

Open
opened 2025-10-01 10:52:19 +00:00 by iexos · 0 comments
Member

If anything fails during releasing, you end up with a messed up state and have to clean up the things that abra did, which you might not even know it did. To mitigate this and make releasing more robust, I propose to make abra recipe release atomic (as much as possible). Implementing that would mean:

  • starting with a clean git state: #682
  • if anything fails during execution, clean up what has been done (reset to previous commit)
  • since pushing is done last, everything before should be reversible locally
  • the commits and tag should be pushed together atomically (via git push --atomic)
  • optional: at first check if there are upstream changes to the main/current branch, abort if there are
    • this might save you time entering inputs that would be lost in case of push failure (mostly release notes), would catch push conflicts as well as network issues
If anything fails during releasing, you end up with a messed up state and have to clean up the things that abra did, which you might not even know it did. To mitigate this and make releasing more robust, I propose to make `abra recipe release` atomic (as much as possible). Implementing that would mean: * starting with a clean git state: #682 * if anything fails during execution, clean up what has been done (reset to previous commit) * since pushing is done last, everything before should be reversible locally * the commits and tag should be pushed together atomically (via `git push --atomic`) * optional: at first check if there are upstream changes to the main/current branch, abort if there are * this might save you time entering inputs that would be lost in case of push failure (mostly release notes), would catch push conflicts as well as network issues
decentral1se added this to the Abra v0.12 project 2025-10-01 13:21:31 +00:00
decentral1se added the
enhancement
label 2025-10-02 09:11:15 +00:00
decentral1se modified the project from Abra v0.12 to Abra "next" 2025-10-26 09:50:18 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: toolshed/abra#683
No description provided.