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

Alexander Batashev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 27 20:49:34 PDT 2022


alexbatashev added inline comments.


================
Comment at: .github/workflows/clang-tests.yml:12-17
   pull_request:
     paths:
       - 'clang/**'
       - '.github/workflows/clang-tests.yml'
       - '.github/workflows/llvm-project-tests.yml'
       - '!llvm/**'
----------------
tstellar wrote:
> alexbatashev wrote:
> > What's the reason to include pull_request here if all pull requests are automatically closed?
> This patch is for the release branch where we use pull requests for pre-commit testing.  We put the pull requests in the llvm/llvm-project-release-prs repo to keep them separate, so they aren't automatically closed.
Oh, I see, makes sense then. 


================
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:
> > 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


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