microsoft / microsoft/winget-pkgs
Pipelines should warn against incorrect inclusion / exclusion of DisplayVersion
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
The general advice (as of writing this issue) regarding AppsAndFeaturesEntries: DisplayVersion & version range issues arising from it is:
- If a single manifest requires inclusion of
DisplayVersion, then all manifests of that PackageIdentifier should containDisplayVersion DisplayVersionshould not be used when it's equal toPackageVersionfield
This context is easy to miss when contributing package manifests. The pipelines should warn PR authors when:
- They include
DisplayVersionin a manifest update when previous manifests don't have this field - They exclude
DisplayVersionin a manifest update when all previous manifests have this field - Some manifests of the package have
DisplayVersionfield while others don't DisplayVersionbeing used in the manifest is equal to thePackageVersionDisplayVersiondiffers from PackageVersion by trailing.0sor in a similar fashion where it would make no difference matching wise to the CLI
The most prominent issues caused by failing to adhere to these guidelines:
- "Infinite upgrade" problem seen in https://github.com/microsoft/winget-pkgs/issues/127319#issuecomment-1935687001, https://github.com/microsoft/winget-pkgs/issues/88726
- Making the index inconsistent, thereby breaking publish pipelines (https://github.com/microsoft/winget-pkgs/pull/181438)
Proposed technical implementation details (optional)
No response
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
The issue identifies pipeline validation of package manifests as the entry point; begin by finding the existing validation that compares manifest versions and fields. Done means the pipeline warns for each listed DisplayVersion inconsistency, including trailing .0 differences, across the affected manifest sets.
Written by the indexing model from the issue text.
Assessment
- Domain
- ci-cd
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100