Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add repo level support for DependenciesOnly PackageVersionPropsFlowType #3562

Open
MichaelSimons opened this issue Jul 20, 2023 · 3 comments
Labels
area-infra Source-build infrastructure and reporting

Comments

@MichaelSimons
Copy link
Member

The DependenciesOnly PackageVersionPropsFlowType feature is only supported in the full product source-build. This means in the repo source-build legs the versions of the dependencies referenced by the repo are what are used rather than the latest/current. This introduces a couple problems.

  1. This is a cause for a difference in the repo legs versus full source-build. The repo legs can be referencing an older version not even the same major version which can be a cause of breaks in the source-build.
  2. The version referenced by the repo can be a source of repo level prebuilts if the version is not in SBRP. We want to avoid adding SBRPs that are not referenced in the product build so these prebuilts get added as allowed prebuits.

Ideally when building the repo legs, we would be able to reference a relatively recent version of these dependencies.

@MichaelSimons
Copy link
Member Author

One option is to add a version.details.xml attribute that would indicate latest for source-build. One entry would be used for the MSFT build and the adorned one would only be used for the source-build repo leg. This would require a dependency flow that would need to be kept relatively up-to-date.

@MichaelSimons
Copy link
Member Author

This could be a solution for #3566

@MichaelSimons MichaelSimons added area-infra Source-build infrastructure and reporting and removed untriaged labels Jul 27, 2023
@ellahathaway
Copy link
Member

#3985 is an example of this issue. The prebuilts specified in that issue were not detected in the repo-level build but were detected in the VMR build.

This occured because the product (VMR) build relies on Version.Details to determine current package versions and detect prebuilts, whereas the repository builds use intermediates to determine current package versions and detect prebuilts.

In simpler terms, if the intermediate packages at the repository level contain packages that match the specified package versions within the repository (as defined in the Versions.Props file), prebuilts won't be detected. This occurred with the prebuilts specified in #3985. The VMR, however, determines the current package versions from the bootstrapped SDK and Version.Details.xml, and this can result in the VMR expecting higher versions than those defined by the repo. Consequently, prebuilts can be detected in the repo build within the VMR but not by repo itself at the repository level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infra Source-build infrastructure and reporting
Projects
Status: Backlog
Development

No branches or pull requests

2 participants