News for hackers. Stuff that matters.
Re:The Pain That Is GitHub Actions by saidinesh5 on Thursday March 20, 2025 @03:10AM (#43420443)
Caching is nicer on own runners. No need to redownload 10+GB of "development container images" just to build your 10 lines of changed code.

With self hosted Gitlab runners it was almost as fast as doing incremental builds. When your build process can take like 15-20 minutes (medium sized C++ code base), this brought down the total time to 30 seconds or so.

Re:The Pain That Is GitHub Actions by imp0cat on Thursday March 20, 2025 @04:17AM (#43420783)
This. Your own runners can cache everything (docker caches, apt caches, ccache outputs...) and can also share the compilation load (icecc for c++). All that gives 5x-10x speed boost.
Re:The Pain That Is GitHub Actions by madeofpalk on Thursday March 20, 2025 @05:23AM (#43421146)
This is true because your CI steps will be running on a lower number of physical machines, ensuring higher cache hits?
Re:The Pain That Is GitHub Actions by saidinesh5 on Thursday March 20, 2025 @05:33AM (#43421189)
Kind of - you can also pin runners.("This workflow runs on this runner always"). And caching just means not deleting the artifacts from the file system from the previous runs.

Imagine building Android - even "cloning the sources" is 200GB of data transfer, build times are in hours. Not having to delete the previous sources and doing an incremental build saves a lot of everything.

Re:The Pain That Is GitHub Actions by imp0cat on Wednesday March 26, 2025 @02:00AM (#43479250)
Gitlab also has some tips here: https://docs.gitlab.com/ci/caching/ on using shared caches, which can help in some scenarios, especially runners in Kubernetes that are ephemeral, ie. created just before a job starts and destroyed afterward.

tldr; "A cache is one or more files a job downloads and saves. Subsequent jobs that use the same cache don’t have to download the files again, so they execute more quickly."

It will probably still be slower than a dedicated runner, but possibly require less maintenance ("pet" runner vs "cattle" runner).