andrewmusselman opened a new pull request, #620:
URL: https://github.com/apache/tooling-trusted-releases/pull/620

   ## Add "(binding)" label to PMC member vote emails
   
   Fixes #616 
   
   ### Summary
   
   When PMC members cast votes on releases, their vote emails now include 
"(binding)" to indicate their vote counts toward the release decision.
   
   **Before:** `+1 (akm) Andrew Musselman`
   
   **After:** `+1 (binding) (akm) Andrew Musselman`
   
   ### Changes
   
   **atr/post/vote.py**
   - Added logic to determine binding status based on PMC membership before 
sending vote email
   - For regular projects: checks if user is a PMC member via 
`user.is_committee_member()`
   - For podlings: checks Incubator PMC membership via 
`storage.write().as_committee_member("incubator")`
   
   **atr/storage/writers/vote.py**
   - Added `is_binding` parameter to `send_user_vote()` method
   - Extracted `format_vote_email_body()` function for testability
   
   **tests/unit/test_vote.py** (new)
   - Tests for vote email body formatting (binding/non-binding, with/without 
comments)
   - Tests for committee membership binding determination
   
   ### Design decisions
   
   - Binding status is determined **only** by PMC membership, not admin status
   - Logic mirrors existing binding determination in `atr/get/vote.py` for UI 
display
   ## Required acknowledgements
   
   Please replace each `[ ]` with `[x]` to confirm.
   PRs missing confirmations may be closed or converted to Draft.
   
   * [x] I have read and followed **CONTRIBUTING.md**
   * [x] I have read **DEVELOPMENT.md**
   * [x] I have run the required tests and checks locally
   * [x] All required checks are currently passing
   * [x] This branch is **rebased on the current `main` branch**
   
   ---
   
   ## Rebase confirmation details (optional but encouraged)
   
   ```
   $ git fetch upstream 
   From github.com:apache/tooling-trusted-releases
      af7afe82..05809602  main       -> upstream/main
   $ git rebase upstream/main
   Successfully rebased and updated refs/heads/binding-vote-email-616.
   $ git push upstream --force-with-lease binding-vote-email-616 
   Enumerating objects: 20, done.
   Counting objects: 100% (20/20), done.
   Delta compression using up to 8 threads
   Compressing objects: 100% (11/11), done.
   Writing objects: 100% (11/11), 3.07 KiB | 786.00 KiB/s, done.
   Total 11 (delta 9), reused 0 (delta 0), pack-reused 0 (from 0)
   remote: Resolving deltas: 100% (9/9), completed with 9 local objects.
   To github.com:apache/tooling-trusted-releases.git
    + cb6b976b...59600928 binding-vote-email-616 -> binding-vote-email-616 
(forced update)
   ```


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