microsoft / microsoft/winget-pkgs
[New Feature]: Validate all AppsAndFeaturesEntries fields
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 11.1k
- Forks
- 9.7k
- Avg merge
- 1h 32m
- Merged PRs (30d)
- 376
Description
Description of the new feature/enhancement
There is currently the label https://github.com/microsoft/winget-pkgs/labels/Manifest-AppsAndFeaturesVersion-Error which is applied when the version in AppsAndFeaturesEntries doesn't match the version that is written as the DisplayVersion. However, this doesn't seem to catch some other errors in AppsAndFeaturesEntries.
For example, in this PR, it didn't detect that the ProductCode was not valid for any of the ARP entries -
When AppsAndFeaturesEntries are specified in the manifest, the validation pipeline should check for an exact match of the complete entry, not just specific fields.
Proposed technical implementation details (optional)
When an AppsAndFeaturesEntries item is present in the manifest, validate that there is an exact match for the entire object. If a field is not specified in the manifest, allow any value. Note that each entry should be compared on all fields for an exact match, since some programs may create multiple entries which may match each individual field collectively
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Use PR 118927 as the reproduction and trace the validation pipeline that handles AppsAndFeaturesEntries. Verify how manifest fields are compared, then make completion mean each entry matches one ARP entry across all specified fields while unspecified fields remain unconstrained.
Written by the indexing model from the issue text.
Assessment
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100