As a package author, I should be able to GA release individual packages on vcpkg with confidence by having automated testing that detects potential build errors earlier based on package permutations #6069
Labels
EngSys
This issue is impacting the engineering system.
The problem:
An example of the problem we experienced:
We made changes to azure-core and used it in upstream packages (including eventhubs as an example). Our daily CI and vcpkg package testing, based on main, all pass. When we went to ship a GA of azure-core (and only azure-core, since we didn't intend to ship some of the upstream packages like eventhubs, keyvault, etc.), the existing published package in the vcpkg GA registry failed to build, blocking the release of core. Note, the individual changes were all reasonable, so the onus is on systems in place to detect what could break, to help the team as the last line of defense.
To fix this, we had to patch azure-core-cpp and all upstream packages that depended on it which we didn't intend to ship in that release cycle (when we discovered the issue, on release day). The problem is less so that we hit this issue (which can happen again and easily fixed, whenever changes are made to core that upstream packages depend on), but rather, when we hit it in the release cycle:
Where we are today:
Where we'd like to be:
P.S. This issue is related to the beta registry package testing, but different since it focuses on testing and shipping of individual packages as GA to the main vcpkg registry (and not about mixing packages of different dev stages).
cc @RickWinter, @ronniegeraghty, @danieljurek
The text was updated successfully, but these errors were encountered: