actions / actions/actions-runner-controller

Ephemeral runner dependency caching

Open
#2,726 16 comments 33 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs triage
Dominant language
Go
Stars
6.5k
Forks
1.5k
Avg merge
2d 2h
Merged PRs (30d)
27

Description

What would you like added?

I would like to be able to use something like the actions/cache action in order to cache dependencies installed with e.g. npm install (node_modules) in my workflow. I want to do this using ephemeral runners and i want to store the cache on a persistent volume or similar, not github (as it would be slow)

Why is this needed?

Currently, doing things like actions/setup-node and npm install is doing a lot of unnecessary requests and ends up taking lots of time. I would like to cache these things just as i do on Github-hosted runners with the actions/cache action so that the time spent is reduced.

I see that we can mount volumes to ephemeral runners today, but i'm not sure how or if its even possible to get ARC to write to/load from the cache.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how ephemeral runners mount persistent volumes and how actions/cache and actions/setup-node handle dependency caching. Use the npm install and node_modules workflow described in the issue as the test case; done means dependencies can be stored on and loaded from the persistent volume without relying on GitHub-hosted cache storage.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, kubernetes, node.js
Domain
ci-cd, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.