microsoft / microsoft/winget-pkgs
[New Feature]: The Needs-CLA condition check is misleading
- Dominant language
- No language data
- Stars
- 11.1k
- Forks
- 9.7k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature/enhancement
There are numerous PRs from newcomers that got confused with this https://github.com/microsoft/winget-pkgs/labels/Needs-CLA label keep getting assigned in their PR even though they have already signed it. My assumptions are because the check itself is quite unrelated:
https://github.com/microsoft/winget-pkgs/blob/6c998b0ceddf9ae3656c6943abf3e8657695549f/.github/policies/labelManagement.issueOpened.yml#L46-L57
Sure, it is related since it's correctly detecting newcomers (FIRST_TIME_CONTRIBUTOR) that needs to sign it the first time, but what if they opened other PRs after the first PR (where they signed it) while the first PR hasn't merged yet? Because that check only changed IF their first PR got merged, not whether they have signed or not.
### Proposed technical implementation details (optional)
The thing that's reliable here is actually the bot's native handling of CLA itself, it's the checks (not to be confused with previous label check) and the agreement comment post:
Maybe we can use that detection instead of FIRST_TIME_CONTRIBUTOR check?
Contributor guide
Research direction
Start with .github/policies/labelManagement.issueOpened.yml at lines 46–57 and compare its FIRST_TIME_CONTRIBUTOR logic with the bot’s native CLA checks and agreement comment behavior shown in the issue. Done means the Needs-CLA label reflects whether the contributor still needs to sign, including for later PRs opened before an earlier PR merges.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, yaml
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100