morningman opened a new pull request, #66663:
URL: https://github.com/apache/doris/pull/66663

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: #65488
   
   Problem Summary:
   
   Two gaps in the release helper scripts, both found while preparing 
4.0.8-rc02.
   
   **1. `02-package-sign-upload.sh` signs the convenience binaries but never 
uploads them**
   
   The script writes `.asc` and `.sha512` next to each `BIN_FILES` entry and 
stops there, while `03-vote-mail.sh` already advertises those files under 
`BIN_DOWNLOAD_BASE`. Nothing told the RM to publish them, so a vote mail could 
go to `dev@` with dead `.asc` links.
   
   The reminder now prints on every successful exit, including the two paths 
that answer `n` at the SVN confirmations — the binaries are already signed by 
then, so the reminder is just as relevant there.
   
   ```
   [WARN] the binary .asc signatures are NOT uploaded by this script.
   Upload each binary together with its .asc and .sha512 to https://<base>/ :
     apache-doris-4.0.8-bin-x64.tar.gz  apache-doris-4.0.8-bin-x64.tar.gz.asc  
apache-doris-4.0.8-bin-x64.tar.gz.sha512
     ...
   03-vote-mail.sh advertises them under https://<base>/, so upload them BEFORE 
sending the vote email.
   ```
   
   **2. `03-vote-mail.sh` produced an incomplete draft**
   
   - The subject only reached the console and the `.eml` header, so the RM had 
to take the subject from one place and the body from another. `vote-email.txt` 
now starts with the `Subject:` line, and the whole mail can be copied from a 
single file.
   - The subject wording is now `[VOTE] Release for Apache Doris <tag>`, 
matching what is used on the list.
   - The body now ends with the RM's own `Here is my +1(binding)`, placed above 
the signature, so it does not have to be typed in by hand every release.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test
       - [x] Unit Test
   
         Two new cases under `tools/release-tools/tests/`, both following the 
existing stub-`release.env` plus fake-binaries-on-`PATH` pattern already used 
by `test-release-complete-checksum.sh`:
   
         - `test-package-binary-upload-reminder.sh` runs `02` end to end with a 
fake `git` and `gpg`, answers `n` at the first SVN confirmation, and asserts 
that each `.asc` was produced and that the reminder names it, names the 
download base, and states that the script does not upload.
         - `test-vote-mail-draft.sh` runs `03` and asserts the subject line 
heads `vote-email.txt`, the same subject is a header in `vote-email.eml`, and 
the binding vote appears in both, above `Best Regards,`.
   
         `./tests/run.sh`: the four other cases pass. 
`test-release-complete-checksum.sh` fails, but it fails the same way on a 
pristine `master` checkout and this PR does not touch `04-release-complete.sh`, 
so it is left alone here.
   
   - Behavior changed:
       - [x] Yes.
   
         Only for the RM running these scripts: the vote email subject gains 
"for", `vote-email.txt` gains a leading `Subject:` line, the body gains the 
`+1(binding)` line, and `02` prints an extra reminder. No product code is 
touched.
   
   - Does this need documentation?
       - [x] No. `tools/release-tools/README.md` is updated in this PR.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to