Skip to content

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux Kernel Build Tester

Automated Linux kernel builds for Neutron Clang. The build matrix is resolved at runtime from kernel.org, so the repo always tracks the current mainline RC, the current stable release, and every active longterm series.

Neutron Clang Kernel builds Mainline Stable 6.18 LTS 6.12 LTS 6.6 LTS 6.1 LTS 5.15 LTS


Overview

This repository runs a fan-out Linux kernel build matrix across arm64, arm, and x86_64 using the current Neutron Clang toolchain. Kernel versions are resolved from kernel.org at runtime, so the active mainline, stable, and longterm series do not need manual pinning.

Neutron Clang: 24.0.0gitTag: 06092026 Last run: 06 Sep 2026 07:34 UTC

Kernel Version arm64 arm x86_64
Mainline 7.3-rc1 33m07s 20m57s 9m11s
Stable 7.2.3 32m36s 21m17s 9m51s
6.18 LTS 6.18.49 36m16s ⚠1 19m18s ⚠1
6.12 LTS 6.12.108 28m10s ⚠1 17m20s ⚠1 6m30s ⚠1
6.6 LTS 6.6.156 22m15s ⚠1 16m22s ⚠1 8m13s ⚠1
6.1 LTS 6.1.187 23m45s ⚠2 16m23s ⚠12 6m02s ⚠2
5.15 LTS 5.15.220 19m04s ⚠1 14m14s ⚠11 5m01s ⚠3
5.10 LTS 5.10.269 17m40s ⚠2 12m38s ⚠11 6m36s ⚠38

✅ pass · ❌ fail · ⬜ not run · ⚠N = N compiler warnings · time shown for passing builds


How It Works

flowchart TD
    A[Neutron Clang release] --> B[check-toolchain.yml]
    B --> C[build-matrix.yml setup]
    C --> D[Resolve kernel.org releases.json]
    D --> E[Build matrix includes mainline, stable, and active LTS tracks]
    E --> F[Parallel builds on arm64 / arm / x86_64]
    F --> G[update-status.py refreshes state, badges, and README]
Loading

Mainline rows also capture the current upstream HEAD commit so a failed snapshot can be reproduced more easily later.

Track Resolution

Track Source Notes
mainline kernel.org moniker: mainline Current rc snapshot; result.json stores the current HEAD commit
stable kernel.org moniker: stable Current stable release
lts-* kernel.org moniker: longterm Active longterm series are discovered dynamically

Triggering a Build

Automatic

check-toolchain.yml polls the clang-build-catalogue every 6 hours and dispatches build-matrix.yml when a new toolchain tag appears.

Manual

Use Actions → 🔨 Build Matrix → Run workflow and fill in the inputs:

Input Description Default
toolchain_tag Specific Neutron Clang tag, or empty for the latest catalogue entry latest
clang_version Clang version string for display only
llvm_commit LLVM commit URL for display only
kernel_filter Limit to one kernel channel, series, or label all
arch_filter Limit to one architecture all
triggered_by Label used in the commit message manual

REST API

curl -X POST \
  -H "Authorization: Bearer <GITHUB_TOKEN>" \
  -H "Accept: application/vnd.github+json" \
  https://api.github.com/repos/Neutron-Projects/linux-kernel-build-tester/actions/workflows/build-matrix.yml/dispatches \
  -d '{
    "ref": "main",
    "inputs": {
      "toolchain_tag": "22052026",
      "kernel_filter": "all",
      "arch_filter": "all",
      "triggered_by": "api"
    }
  }'

To force a catalogue refresh:

curl -X POST \
  -H "Authorization: Bearer <GITHUB_TOKEN>" \
  -H "Accept: application/vnd.github+json" \
  https://api.github.com/repos/Neutron-Projects/linux-kernel-build-tester/actions/workflows/check-toolchain.yml/dispatches \
  -d '{
    "ref": "main",
    "inputs": {
      "force_build": "true"
    }
  }'

Build Metrics

Each build job emits a result.json artifact with:

{
  "status": "pass",
  "arch": "arm64",
  "kernel_version": "7.1-rc6",
  "kernel_channel": "mainline",
  "kernel_label": "Mainline",
  "kernel_head_commit": "ba3e43a9e601636f5edb54e259a74f96ca3b8fd8",
  "clang_version": "Neutron Clang 23.0.0git …",
  "toolchain_tag": "22052026",
  "duration_seconds": 342,
  "duration_human": "5m42s",
  "warnings": 4,
  "errors": 0,
  "timestamp_start": "2026-05-22T04:00:01Z",
  "timestamp_end": "2026-05-22T04:05:43Z",
  "run_url": "https://github.com/…/actions/runs/…",
  "exit_code": 0
}

Artifacts are retained for 90 days. Failure logs are kept for 14 days.


Badge Integration

![mainline](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/mainline.json&style=flat-square)
![stable](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/stable.json&style=flat-square)
![6.18 LTS](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/lts-6.18.json&style=flat-square)
![6.12 LTS](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/lts-6.12.json&style=flat-square)
![6.6 LTS](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/lts-6.6.json&style=flat-square)
![6.1 LTS](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/lts-6.1.json&style=flat-square)
![5.15 LTS](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Neutron-Projects/linux-kernel-build-tester/main/state/badges/lts-5.15.json&style=flat-square)

· Kernel versions from kernel.org/releases.json

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages