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]