One of the biggest issues with using a self hosted GitHub runner is that actions that require downloading large amounts of data will bottleneck at the network. [actions/cache][1] does not support locally caching objects and artifacts stored on GitHub's servers will require a lot of bandwidth to fetch on every job. We can, however, set up a content proxy using [Squid][2] with SSL bumping to locally cache requests from jobs.
This is for Squid 7.6 on macOS with [Homebrew][6].
git clone https://gist.github.com/30c5c96d7575efd1d2a2db5e3def0815.git squid-cache
cd squid-cache
bash deploy.sh