actions / setup-node

Set up your GitHub Actions workflow with a specific version of node.js
MIT License
3.95k stars 1.31k forks source link

Output more information about the cache to support overriding default cache eviction policy #1152

Open ramblingenzyme opened 1 month ago

ramblingenzyme commented 1 month ago

Description: In their docs, actions/cache documents a workflow where you use the GitHub CLI to manually delete caches so that your caches on main don't end up being removed.

If cache-primary-key and cache-matched-key outputs were added to match actions/cache/restore (see its action.yml), users could add an optional step to delete the previous cache.

https://github.com/actions/cache/blob/main/tips-and-workarounds.md

steps:
  - uses: actions/checkout@v4
  - uses: actions/setup-node@v4
    id: node
    with:
      cache: yarn

  - name: Cleanup previous Node cache
    if: steps.node.outputs.cache-primary-key != steps.node.outputs.cache-matched-key
    env:
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    run: |
      gh extension install actions/gh-actions-cache

      REPO=${{ github.repository }}
      BRANCH=refs/pull/${{ github.event.pull_request.number }}/merge

      gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm

Justification: Like https://github.com/actions/setup-node/issues/1151 this would give users more flexibility around caching without having to opt out the caching from actions/setup-node.

Are you willing to submit a PR? If I can find the time

Resources

priya-kinthali commented 1 month ago

Hello @ramblingenzyme 👋, Thank you for this feature request. We will investigate it and get back to you as soon as we have some feedback.

siam5390 commented 3 weeks ago

Yshsbs