-
Notifications
You must be signed in to change notification settings - Fork 65
Description
Feature request
The setup-helm action currently only uses the runner's local tool cache (/opt/hostedtoolcache/) which does not persist across different GitHub Actions runners. This means Helm is re-downloaded on every workflow run, even when using the same version.
Unlike other setup actions (e.g., actions/setup-go, actions/setup-node), the Helm installation is not visible in GitHub's cache dashboard and cannot be shared across workflow runs. This results in:
- Slower workflow runs due to repeated downloads
- Increased bandwidth usage
- Inconsistent behavior compared to other GitHub setup actions
Users can currently work around this by manually adding an actions/cache step before setup-helm, but this requires understanding the internal cache directory structure and adds boilerplate to every workflow.
Solution
Integrate @actions/cache directly into the action to enable persistent caching across workflow runs. This would:
- Add
@actions/cacheas a dependency - Restore the cache from GitHub's cache storage before checking the local tool cache
- Save the cache after successful Helm installation
- Make cached Helm installations visible in the repository's cache dashboard
This could be implemented as an opt-in or opt-out feature via a new input parameter:
- uses: azure/setup-helm@v4
with:
version: 'v3.18.4'
cache: true # Enable persistent caching (could default to true)The cache key should include the OS, architecture, and Helm version to ensure correct cache invalidation when any of these change.