[PATCH] D126506: workflows: Use new custom runners from github

Trass3r via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 18 03:43:32 PDT 2022


Trass3r added inline comments.


================
Comment at: .github/workflows/llvm-project-tests.yml:39-45
       - name: Setup Windows
         if: startsWith(matrix.os, 'windows')
         uses: llvm/actions/setup-windows at main
         with:
           arch: amd64
       - name: Install Ninja
         uses: llvm/actions/install-ninja at main
----------------
tstellar wrote:
> alexbatashev wrote:
> > tstellar wrote:
> > > alexbatashev wrote:
> > > > Did you consider using sccache here? I see that right now this job takes ~4 hours, and the majority of time is spent on builds, which correlates with my experience building llvm in github actions. Enabling sccache should bring that down to ~3-15 minutes (windows is still much slower than linux, but that's a big improvement over a few hours).
> > > Is sccache something that is integrated with GitHub or do we have to set up our own server somewhere?
> > > 
> > > With these new runners, most jobs take around 30 minutes which is a big improvement over the old runners.  Here is an example pull requests that uses the new runners: https://github.com/llvm/llvm-project-release-prs/pull/1
> > That’s a fantastic improvement. But builds are still 39 minutes long. 
> > 
> > For github-hosted machines I’ve had success with github.com/actions/cache (see for example https://github.com/intel/llvm/commit/95104c079bacd4dd2920c8439d97d3f93e601b18). In my config llvm produced ~1,5 gigs of binaries. 10 gigs cache was more than enough for that task. 
> > 
> > On self-hosted machines that’s even easier. You can persist data on the machine itself: https://github.com/intel/llvm/blob/f6420c769d473c00be736b8df361e10dd98a6009/.github/workflows/sycl_windows_build_and_test.yml#L32
> Thanks for this information.  I will look into enabling this in a follow-up patch.
There is also hendrikmuhs/ccache-action which specializes the cache action for ccache/sccache. It's also of interest to cache the ThinLTO cache. The cache sizes need to be tuned a bit since GH limits the total size.
https://github.com/Trass3r/llvm-project/blob/main/.github/workflows/CI.yml


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126506/new/

https://reviews.llvm.org/D126506



More information about the llvm-commits mailing list