When using GitHub Enterprise Server in a large organization, you might run into problems due to limited or no internet connection. Or you might have set-up your runners to be detroyed everytime a workflow is triggered. In either case, you can speed up the workflow by using cached versions of tools the workflow need. Node, go, python, etc. These tools are setup with actions/[email protected] or similar step.
The general idea is that you run
actions/[email protected] with every version you need and then create a tarball of the
You can install these cached toolchains in the
RUNNER_DIR/_work/_tool folder grouped by tool. Just extract the toolchain to the
RUNNER_DIR/_work/_tool folder and it will be automatically installed. e.g.
tar -xzf node_tool_cache.tar.gz -C RUNNER_DIR/_work/_tool/node.
I created some example workfslows for Node, Go and Python which might be useful for you. cloudcosmonaut/runner-toolchains