microsoft / microsoft/winget-pkgs

[New Feature]: Validate all AppsAndFeaturesEntries fields

Open
#118,948 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Validation-Pipeline Issue-Feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.