bharos opened a new pull request, #13638:
URL: https://github.com/apache/gravitino/pull/13638

   ### What changes were proposed in this pull request?
   
   Two fixes to make a failed release run recoverable.
   
   **`--skip-existing` on both `twine upload` calls.** A re-run of `finalize` 
(or `package`) after a partial failure currently dies with `400 File already 
exists` before reaching the steps that still need to happen. With the flag, an 
already-uploaded file is skipped and the stage continues.
   
   **The docker stage no longer treats a dry-run marker as a completed run.** 
`publish-docker.sh` writes its state marker on every run, including 
`--dry-run`, but the skip guard only tested that the file existed. So running 
the documented preview first disabled the real run, which exited 0 reporting 
`Stage 'docker' is already complete` having dispatched nothing. The guard now 
ignores a marker containing `dry_run=true`.
   
   The marker is still written for dry runs, as the existing comment intends.
   
   ### Why are the changes needed?
   
   Fix: #13637
   
   Both were hit during the 1.3.1 release. The `finalize` stage failed at the 
`svn mv`, which needs `dist/release` karma the release manager did not have, by 
which point the git tag was pushed and the PyPI version was spent. Re-running 
was not possible.
   
   The docker marker was more dangerous, because it failed silently: the 
preview run left a marker, the real run then skipped everything and reported 
success.
   
   ### Does this PR introduce any user-facing change?
   
   No. Release tooling only.
   
   ### How was this patch tested?
   
   Both scripts pass `bash -n`.
   
   The guard change was tested against both marker types:
   
   | marker | `DRY_RUN` | before | after |
   |---|---|---|---|
   | dry run | false | skip, dispatches nothing | **run** |
   | dry run | true | run | run |
   | real | false | skip | skip |
   | real | true | run | run |
   
   `--skip-existing` is a documented twine flag; the upload is otherwise 
unchanged.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to