Blog post

What hardware powers GitHub Actions?

Turns out running hardware from 2015 is a bad idea.

11/9/2021

1 minute read
Adam ShiervaniCo-Founder

It is common practice for CI's to simply state the amount of vCPUs at the user's disposal. We do the same and find it generally to be a good abstraction. Cross-service comparison gets easier and the users don't need to dabble with the details. As this post is meant to explore the hardware of GitHub Actions, we decided to dabble with the details. To do this we ran lscpu 50 times on the GitHub Actions hardware (source):

yml
1
name: Display information about GitHub Actions CPU architecture
2
on: push
3
jobs:
4
build:
5
strategy:
6
matrix:
7
runs-on: [ubuntu-latest]
8
name: [1...50]
9
name: Display lscpu - ${{matrix.name}}
10
runs-on: ${{matrix.runs-on}}
11
steps:
12
- name: Run lscpu
13
run: lscpu

After running the above workflow and cross-pollinating it with cpubenchmark data, we got the following results: Currently available GitHub Actions hardware Looking at the GitHub hardware table we can extract a few things:

  • If you're unlucky, GitHub Actions runs your workflow with old hardware from 2015.
  • One of the processors, the 8272CL (C = Cloud, L = Large memory) is only sold through OEM channels and we were not able to find a normalized benchmark for it, hence the lack of a single-thread score. Although we did find a benchmark for the newer and better 8275CL. It lands on an underwhelming 2375 single-thread score, so the 8272CL would likely score less than that.
  • Low clock speed becomes a problem, especially in single-threaded workloads. However, the lack of a single-thread score could be mitigated by only offering it to projects that can and want to utilize many cores.
Buildjet CI Logo
Make Github Actions Faster
Change 1 line, get 2x faster and cheaper builds

© 2024 BuildJet, Inc. - All rights reserved.

BuildJet has no affiliation with GitHub, Inc. or any of its parent or subsidiary companies and/or affiliates.