Pipelines should validate upgrade scenario #109059
Labels
Issue-Feature
Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Milestone
Description of the new feature/enhancement
Some packages may be perfectly fine for a clean install but may not work as well in the upgrade scenario. An example of such a package is
Anki.Anki
(#109046) that does not have a silent upgrade flow. Validation Pipelines should check if the package works as intended in the upgrade scenario as well. This may include but not limited to detecting if the upgrade is silent, whether it requests for a reboot or throws a non-zero error code (which may mean we need InstallerSuccessCodes added in the manifest). Once #13620 is resolved, the upgrade validation should also check whether the Registry entries are updated as intended.Proposed technical implementation details (optional)
winget show <PackageId> --versions
or fromGet-WinGetPackage -Id <PackageId> | Select AvailableVersions
from the PowerShell moduleEdge cases include the Installer Url of the previous package no longer works, or the package uses a vanity URL. These should not be considered for the upgrade validation.
Ideally, the upgrade validation should be carried out in a fresh environment/VM. However, if this incurs significant resource costs, it may be feasible to carry out the validation within the same environment. In such cases, a mechanism to clean all versions and registry entries before the next validation step (install or upgrade) should be implemented as there could be packages that don't allow downgrades or install side-by-side.
The text was updated successfully, but these errors were encountered: