Example: Test that compute time by compiling a Kernel¶
Use this sample to test the raw compute speed of your hosts by building a Kernel.
Certified for:
-
x86_64
Use a private repository if you're not using actuated yet
GitHub recommends using a private repository with self-hosted runners because changes can be left over from a previous run, even when using Actions Runtime Controller. Actuated uses an ephemeral VM with an immutable image, so can be used on both public and private repos. Learn why in the FAQ.
Try out the action on your agent¶
Create a new file at: .github/workflows/build.yml
and commit it to the repository.
name: microvm-kernel
on: push
jobs:
microvm-kernel:
runs-on: actuated
steps:
- name: free RAM
run: free -h
- name: List CPUs
run: nproc
- name: get build toolchain
run: |
sudo apt update -qy
sudo apt-get install -qy \
git \
build-essential \
kernel-package \
fakeroot \
libncurses5-dev \
libssl-dev \
ccache \
bison \
flex \
libelf-dev \
dwarves
- name: clone linux
run: |
time git clone https://github.com/torvalds/linux.git linux.git --depth=1 --branch v5.10
cd linux.git
curl -o .config -s -f https://raw.githubusercontent.com/firecracker-microvm/firecracker/main/resources/guest_configs/microvm-kernel-x86_64-5.10.config
echo "# CONFIG_KASAN is not set" >> .config
- name: make config
run: |
cd linux.git
make oldconfig
- name: Make vmlinux
run: |
cd linux.git
time make vmlinux -j$(nproc)
du -h ./vmlinux
When you have a build time, why not change runs-on: actuated
to runs-on: ubuntu-latest
to compare it to a hosted runner from GitHub?
Here's our test, where our own machine built the Kernel 4x faster than a hosted runner: