Skip to content

Make start-release.sh idempotent for safe re-runs#529

Merged
harrism merged 1 commit into
openvdb:mainfrom
harrism:fix/idempotent-start-release
Mar 11, 2026
Merged

Make start-release.sh idempotent for safe re-runs#529
harrism merged 1 commit into
openvdb:mainfrom
harrism:fix/idempotent-start-release

Conversation

@harrism

@harrism harrism commented Mar 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make start-release.sh idempotent so it can be safely re-run after a partial
    failure or after fixing an issue discovered during the release process
  • Each step checks whether it has already been completed:
    • Release branch: reuse if it already exists locally
    • Version on release branch: skip commit if already correct
    • Dev version bump on main: skip commit if already correct
    • PR creation: skip if an open release PR already exists
  • Updated test script to verify idempotent behavior (re-run succeeds with
    correct state preserved)

Test plan

  • ./devtools/test-release-scripts.sh passes (28/28)
  • Manual: run start-release.sh twice in a row -- second run should
    succeed and detect existing state

Each step now checks whether it has already been completed:
- Release branch: reuse if it already exists locally
- Version on release branch: skip commit if already correct
- Dev version bump on main: skip commit if already correct
- PR creation: skip if an open release PR already exists

This allows safely re-running the script after a partial failure
or after fixing an issue discovered during the release process.

Signed-off-by: Mark Harris <mharris@nvidia.com>
@harrism harrism requested a review from a team as a code owner March 11, 2026 06:50
@harrism harrism requested review from areidmeyer and swahtz March 11, 2026 06:50
@harrism harrism merged commit 8108068 into openvdb:main Mar 11, 2026
35 checks passed
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