Best approach to build and store prerequisites binaries

My project needs some binaries to be built (toolchain and a SDK). They aren’t supposed to be built each time with the project. What’s the best way to build them and store them to be used by the build process of the actual project?
Currently I’m using a workflow to build prerequisites by manual trigger and upload them as a build artifact. But build artifacts are supposed to be used by the same workflow. I know there are workarounds for this, but what is the recommended approach for it?

Hm, maybe you could use a cache? It’s not as persistent as a release artifact, but you won’t need to do manual management that way.

If this is for Linux, my go to solution is to build a docker image and push it to Docker Hub. There is no docker image caching, but GitHub pulls it pretty fast anyway.

One thing to keep in mind is that Docker Hub will enforce pull limits starting November. 100 pulls per 6 hurts for anonymous users, and 200 for logged in users. If that’s a problem for you, then you might wanna push your image to GitHub’s alternative ghcr.io