Add NuGet Caching to Azure Pipelines Build
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 658
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 9
Description
IKVM adds more than 1 GB of NuGet dependencies and has a big impact on the length of a build. So, we should add some caching so the build server only needs to download NuGet packages if they change.
This was done on Azure Pipelines a long time ago
It was removed in e017bda153bb09e453b7bfee7f137c47386099d8
It was added in d484b330b38887d352473309ba14b2a9ff5ca5ae
However, the cache key wasn't set up to read all `*.props`, `*.targets`, and `*.csproj` files, so when we updated version numbers of packages, it broke the build on the server. Also, I couldn't figure out how to invalidate the cache once the key was corrected, so it was simpler just to remove the caching at the time. But now that it will have a more significant impact on performance, this should be added again.
The caching change should also be propagated to ICU4N, J2N, RandomizedTesting, Spatial4n, and Morfologik.Stemming build pipelines.
Contributor guide
Assessment
This issue has not been assessed yet.