If you’re using Actions Runner Controller, the provided base image may not be enough. In fact, it’s important to build your own to ensure that you have all the dependencies you need for your workflows.

actions/setup- Actions, then you’ll want to know how to prepopulate the runner’s tool cache.initializeCommand lifecycle script is a great example of this, and the specification has been updated to align with the implementations. Learn how this affects your dev containers (and why your scripts should always be idempotent).