(Ab)using GitHub Actions for building & testing kernels
Yuma Theatre | Fri 14 Jan 5 p.m.–5:30 p.m.
Presented by
-
Russell Currey
@russelldotcc
https://russell.cc
Russell is a Linux & open source hacker based in Canberra, Australia. He works at IBM OzLabs on various things for the Power platform, focusing on Linux kernel hardening and continuous integration. He is the founder of the snowpatch project and can most commonly be found complaining, drinking tea and playing video games.
Russell Currey
@russelldotcc
https://russell.cc
Abstract
GitHub Actions is a continuous integration (CI) service from GitHub, allowing projects to run arbitrary code on their provided server instances.
GitHub Actions provides unlimited free compute to public repositories, and I can't think of a more deserving recipient than Linux.
There's a lot of stuff to build and test when it comes to Linux. The matrix of release versions, architectures, compilers, configs, platforms etc is near-infinite, so we need every resource we can get. GitHub Actions can't quite get us to infinity, but it can get us a bit closer.
We'll cover:
- a technical overview of GitHub Actions & how to get started
- available platforms & workarounds to get more
- using ccache with GitHub's caching feature for huge speedups
- using "problem matchers" to produce context-aware warnings & errors from gcc, clang & sparse
- implementing smart diffs between runs to find regressions
- how GitHub Actions gets used to drive CI for arch/powerpc
- some undocumented restrictions I've run in to
- the time GitHub sent me 250,000 emails in 60 minutes
GitHub Actions is a continuous integration (CI) service from GitHub, allowing projects to run arbitrary code on their provided server instances. GitHub Actions provides unlimited free compute to public repositories, and I can't think of a more deserving recipient than Linux. There's a lot of stuff to build and test when it comes to Linux. The matrix of release versions, architectures, compilers, configs, platforms etc is near-infinite, so we need every resource we can get. GitHub Actions can't quite get us to infinity, but it can get us a bit closer. We'll cover: - a technical overview of GitHub Actions & how to get started - available platforms & workarounds to get more - using ccache with GitHub's caching feature for huge speedups - using "problem matchers" to produce context-aware warnings & errors from gcc, clang & sparse - implementing smart diffs between runs to find regressions - how GitHub Actions gets used to drive CI for arch/powerpc - some undocumented restrictions I've run in to - the time GitHub sent me 250,000 emails in 60 minutes