> ## Documentation Index
> Fetch the complete documentation index at: https://namespace.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Toolchains

export const CenteredImage = ({src, alt, width, caption, className}) => {
  const [basePath, setBasePath] = useState("");
  useEffect(() => {
    const path = window.location.pathname;
    setBasePath(path === "/docs" || path.startsWith("/docs/") ? "/docs" : "");
  }, []);
  return <Frame caption={caption} className={className} style={{
    maxWidth: width,
    marginInline: "auto"
  }}>
			<OptimizedImage src={`${basePath}${src}`} alt={alt} />
		</Frame>;
};

Cache downloads from most setup actions like `actions/setup-go`, `actions/setup-python`, and `actions/setup-node` on a cache volume.
GitHub's tool SDK [@actions/tool-cache](https://github.com/actions/toolkit/tree/main/packages/tool-cache) uses *RUNNER\_TOOL\_CACHE* to decide where to lookup and store artifacts.
Namespace configures the SDK to ensure any tool downloads are retained on the Cache Volume.

<Steps titleSize="h3">
  <Step title="Enable toolchain download caching">
    To start caching toolchain downloads, ensure the corresponding option is checked in your [profile configuration](https://cloud.namespace.so/workspace/actions/profiles).

    <CenteredImage width={600} alt="profile toolchain download caching" src="/docs/images/github-actions/runnerprofiletoolchain.webp" />

    That's it!
    After enabling this option, most setup actions will automatically use the faster Namespace cache.
    You don't need to change your workflow.
  </Step>
</Steps>

## Next steps

* [Cache Volumes overview](/docs/solutions/github-actions/caching)
* [Actions](/docs/solutions/github-actions/caching/actions)

For advanced configuration see [Runner Labels](/docs/reference/github-actions/runner-configuration).
