microsoft / microsoft/winget-pkgs

[Pipeline Bug]: In multi-arch manifests with a package dependency, only the recentmost version of the dependency is tested.

Open
#338,247 0 comments 1 reaction 0 assignees View on GitHub
Area-Validation-Pipeline Issue-Bug
Dominant language
No language data
Stars
11.1k
Forks
9.7k
PR merge metrics
PR metrics pending

Description

Directly based on #337610.

### The situation

If all of the following are true:
* A manifest in a PR has at least 2 architectures.
* The manifest has at least 1 PackageDependencies.
* The PackageDependency has 1 arch in its newest version, but had 2 in an older and still-in-Winget version.

Then the pipelines only test the newest version of the PackageDependencies, can't find a suited installer for the 2nd arch, and throws a `Validation-Installation-Error`.

A current case is #337610, in which the pipelines throw the error because it can't find a suitable installer for WinZip 29, without checking any earlier versions of the same dependencies (of which at least WinZip 27 has a suitable installer).

### Proposed implementation

Change the pipelines so that if 1 arch's dependency successfully installs with the dependency's current version, then any other archs in that same manifest will be allowed to test with older versions of the dependency.

If anyone have questions about this to me, feel free to ask.

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests; start by tracing the pipeline code that resolves PackageDependencies and selects installers across manifest architectures. Done means one architecture can use the current dependency while another falls back to an older suitable version without a Validation-Installation-Error.

Written by the indexing model from the issue text.

Assessment

Domain
ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.