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

[vcpkg] Expose alpha end-to-end versioning #14852

Merged

Conversation

ras0219
Copy link
Contributor

@ras0219 ras0219 commented Nov 30, 2020

  • Check for the 'versions' feature flag while installing a manifest; if present, trigger version-based installation
  • Implement two-level fallback for Baselines:
    • First, fall back to current repo's port_versions/baseline.json
    • Second, fall back to the current ports in ports/
  • Optimize checking out baseline.json via git show
  • Detect presence of "$x-default-baseline" in the manifest and use that as the baseline commit (temporary hack to be replaced by Federation functionality)
  • If port_versions/x-/xyz.json is not found while requesting versioned port files, fall back to current ports in ports/. Note that this fallback only triggers if the version database is missing -- it does not always consider the current port files.

This set of changes enables transitional functionality that smoothly switches between current behavior (if all version-related files are missing) to fully versioned (baseline + version info for ports). It also enables partial experiments to be run with a subset of version information; any missing version databases can be worked around by overriding back to the current port version.

* Check for the 'versions' feature flag while installing a manifest
* Implement two-level fallback for Baselines:
  * First, fall back to current repo's baseline.json
  * Second, fall back to the ports in ports/
* Optimize checking out baseline.json via `git show`
* Detect presence of '$x-default-baseline' in the manifest and use that as the baseline commit (to be replaced by Federation functionality)
* If port_versions/x-/xyz.json is not found, fall back to ports in ports/
@ras0219 ras0219 force-pushed the dev/roschuma/version-integrate branch from ca40dec to cac289e Compare November 30, 2020 17:45
@PhoebeHui PhoebeHui added the category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed label Dec 1, 2020
@ras0219-msft ras0219-msft merged commit 4fba4b7 into microsoft:master Dec 1, 2020
@ras0219 ras0219 deleted the dev/roschuma/version-integrate branch December 1, 2020 20:00
strega-nil pushed a commit to strega-nil/vcpkg that referenced this pull request May 5, 2021
* Check for the 'versions' feature flag while installing a manifest
* Implement two-level fallback for Baselines:
  * First, fall back to current repo's baseline.json
  * Second, fall back to the ports in ports/
* Optimize checking out baseline.json via `git show`
* Detect presence of '$x-default-baseline' in the manifest and use that as the baseline commit (to be replaced by Federation functionality)
* If port_versions/x-/xyz.json is not found, fall back to ports in ports/

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants