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

[Doc] Update binarycaching.md with clearer description #18033

Merged
merged 2 commits into from
May 26, 2021

Conversation

AugP
Copy link
Contributor

@AugP AugP commented May 20, 2021

We received user feedback about the binary caching feature not being clear. I rewrote some of the opening section to try to describe it better. Feedback is appreciated.

Describe the pull request

  • What does your PR fix?

    Small documentation fix.

  • Does your PR follow the maintainer guide?

    Yes

We received user feedback about the binary caching feature not being clear. I rewrote some of the opening section to try to describe it better. Feedback is appreciated.
@AugP AugP added the category:documentation To resolve the issue, documentation will need to be updated label May 20, 2021
docs/users/binarycaching.md Outdated Show resolved Hide resolved
docs/users/binarycaching.md Outdated Show resolved Hide resolved
docs/users/binarycaching.md Outdated Show resolved Hide resolved
@JackBoosY JackBoosY added the info:internal This PR or Issue was filed by the vcpkg team. label May 21, 2021
@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label May 21, 2021
@JackBoosY JackBoosY changed the title Update binarycaching.md with clearer description [Doc] Update binarycaching.md with clearer description May 21, 2021
@Osyotr
Copy link
Contributor

Osyotr commented May 21, 2021

There are few things unclear left:

  1. In what cases library will be rebuilt from source? Compiler update, port update, etc.
  2. Is there any way to clean "dead" cache? Or better, don't rebuld (and cache) libraries when compiler update doesn't break abi compatibility?

@JackBoosY JackBoosY removed the info:reviewed Pull Request changes follow basic guidelines label May 21, 2021
@AugP
Copy link
Contributor Author

AugP commented May 21, 2021

There are few things unclear left:

  1. In what cases library will be rebuilt from source? Compiler update, port update, etc.
  2. Is there any way to clean "dead" cache? Or better, don't rebuld (and cache) libraries when compiler update doesn't break abi compatibility?

I agree, thank you for the feedback! I'll work with Robert to address these questions in the PR.

@ras0219-msft
Copy link
Contributor

ras0219-msft commented May 24, 2021

In what cases library will be rebuilt from source? Compiler update, port update, etc.

There is the implementation notes section, however the ABI is explicitly non-normative -- we fully intend to add additional fields and content to it in the future.

https://github.com/microsoft/vcpkg/blob/f1d44a97469401417687bd9dfe92fecc26ecf849/docs/users/binarycaching.md#implementation-notes-internal-details-subject-to-change-without-notice

Is there any way to clean "dead" cache?

Unfortunately there's no way for vcpkg to determine what's truly "dead"; you could have a 3 month old instance of vcpkg on your disk that you've moved from its original location, so there's no way we could track it.

As for the actual operation of cleaning, it's backend specific. For files, they can just be deleted. For NuGet / Cloud providers, it's up to those specific providers on how they offer "cleaning" services.

Or better, don't rebuld (and cache) libraries when compiler update doesn't break abi compatibility?

Unfortunately, abi compatibility is extremely specific to the compilers and can even vary based on flags. For example, LTO/LTCG usually changes the abi compatibility computation. Because of this, we take a conservative approach to ensure correctness.

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label May 26, 2021
@ras0219-msft ras0219-msft merged commit ce6253b into master May 26, 2021
@ras0219-msft ras0219-msft deleted the AugP-binarycaching-updates branch June 1, 2021 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:documentation To resolve the issue, documentation will need to be updated info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants