4 ms·
There are also official Heml charts available for ARC: https://github.com/actions/actions-runner-controller https://github.com/actions/actions-runner-controller
by moltar 3y ago
There are also official Heml charts available for ARC: https://github.com/actions/actions-runner-controller https://github.com/actions/actions-runner-controller
I am in the process of setting it up on a cheap Hetzner box. If it works, would be a great deal! You can get a 64 GB RAM box for 35 EUR/mo at server auctions with unlimited traffic. I don't mention CPU or GPU, as typically this isn't a bottleneck for my projects.
Plus, I can configure cache sharing via host-mounted dir. E.g. pnpm cache can be all in one place, and be locally available to pods via a mounted dir. Same for the Docker image cache. This would speed up CI runs and also reduce network traffic by a huge margin.
GitHub Actions effectively has no local caching. There's an action for caching, but it uses a blob storage for cache artifacts. Which then gets network fetched, gzip'ed and gunzip'ed each time, and from my experience this has never been a gain for medium to large npm projects, as they have thousands of small .js files in node_modules, and thus takes a long time to compress and decompress. I think npm edge cache servers are already so optimized and fast, that in my experience almost always it's faster to install from npm directly. I even tested this on AWS, where the cache was stored in S3, in the same region as CodeBuild (CI), and direct installs from npm were still faster by about 30%.
So other than adding more hardware resources, local caching is the only way to significantly speed up GH Actions, from my experience, and thus you must have your runner.
- ozgune 3y ago(Disclaimer: I'm a cofounder at Ubicloud.) Hey there, we offer Ubicloud Runners that are 10x cheaper than GitHub and bill them by the minute. You get a fresh VM with each job; and we use Hetzner as our underlying provider. If you're already setting up a Hetzner box, I'd love to get your input. Any thoughts or feedback for us? https://www.ubicloud.com/use-cases/github-actions https://www.ubicloud.com/use-cases/github-actions https://github.com/ubicloud/ubicloud/blob/main/routes/web/webhook/github.rb https://github.com/ubicloud/ubicloud/blob/main/routes/web/we... (our github actions integration is also openly available)
- moltar 3y agoDoes it address my main issue of cache sharing? If cache is still over the network, then it's not optimal, as it's the bottleneck for everything. E.g. our node_modules is 3 GB, and once you gzip and gunzip it takes minutes. With pnpm cache store we can reduce this to seconds.
- xjia 3y agoIf you are interested in persistent cache, maybe take a look at https://dime.run https://dime.run
- moltar 3y agoPricing is better than GH but still not competitive. We use BuildJet now and it's $0.008/min for 4 vCPU and 16 GB, while your offer is 0.16¢/min for the same (20x more expensive).
- ozgune 3y agoI think you're confusing the unit in our pricing. We charge 0.16¢/min for 4 vCPU and 16 GB, which is $0.0016/min. That's 5x cheaper than BuildJet's pricing. We didn't quote our prices in $ because the number of trailing zeros confused people. Maybe still go ahead and switch back to that?
- cocoflunchy 3y agoThe industry standard is $/min, so yes I think you should stick to it. And emphasize that it's 10x less than github actions pricing (most competitors are 2x cheaper instead)
- moltar 3y agoAh you are right. A agree with other commenters that it’s confusing compared to industry standard.
- cocoflunchy 3y agoUbicloud is using c/min which makes it harder to compare... Buildjet is 0.8c/min and Ubicloud is 0.16c/min which is 5x cheaper.
- hipadev23 3y agoBuilding a business on hetzner is a hell of a bold move.
- ta988 3y agoIn our case we are talking about 2000s of cpus with a lot of bursting. So buying single boxes is not really doable.
- cqqxo4zV46cp 3y agoIn the past, I used GHCR for (large) Docker layer image caching in CI. Now, I’m using the GHA cache. For either case, it really doesn’t feel like I’m gaining that much, because of the time required to pull from the cache. Really unfortunate.