apache / apache/lucenenet

Add NuGet Caching to Azure Pipelines Build

Open
#856 0 comments 0 reactions 1 assignee Claimed by @NightOwl888 View on GitHub
performance pri:high Project Infrastructure testability
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.