Define designated respected download folder
- Dominant language
- C#
- Stars
- 11.5k
- Forks
- 960
- PR merge metrics
- No merged PRs in 30d
Description
One of the best improvements you can get while building your application in a CI/CD environment is reducing the time spending on downloading your dependencies from dependency managers like npm, apt and choco.
For Chocolatey exists `%LocalAppData%\Temp\chocolatey` where temporary files are stored,
but it is not advised to cache that folder. Even when caching that folder `choco` does not respect the files contained in the temp folder and re-downloads them.
There is also `C:\ProgramData\chocolatey\lib` where all installed packages are located, but do **not** serve as a good cache for native installations (e.g. msi). This method is only advised to use for portable installations from zip files.
Looking at popular windows solutions like [AppVeyor](https://www.appveyor.com/docs/build-cache/#caching-chocolatey-packages) or Github Actions there is need to cache large downloads.
Contributor guide
Research direction
No file, test, or entry point is named. Start by examining Chocolatey's existing handling of %LocalAppData%\Temp\chocolatey and C:\ProgramData\chocolatey\lib, then compare the caching requirements described for GitHub Actions and AppVeyor. Done means a designated download location is defined and respected for large downloads, including native and portable packages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100