Skip to content

Commit efee63e

Browse files
committed
github: add build workflow
1 parent de9ad97 commit efee63e

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

.github/workflows/build.yaml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# based on https://github.com/zabbly/linux/blob/x86_64/.github/workflows/builds.yml
2+
name: Builds
3+
on:
4+
- push
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
build-kernel:
11+
name: Build kernel
12+
strategy:
13+
fail-fast: false
14+
runs-on: ubuntu-24.04
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Install dependencies
20+
run: |
21+
sudo apt-get update
22+
sudo apt-get install --yes \
23+
bc \
24+
binutils \
25+
bison \
26+
cpio \
27+
debhelper \
28+
dpkg-dev \
29+
flex \
30+
git \
31+
kmod \
32+
libelf-dev \
33+
libssl-dev \
34+
rsync \
35+
zstd
36+
37+
sudo apt-get install --yes pahole || true
38+
39+
- name: Configure git
40+
run: |
41+
git config user.email "noreply@kernoops.org"
42+
git config user.name "Custom kernel build"
43+
44+
- name: Generate version string
45+
env:
46+
PKGARCH: "amd64"
47+
PKGOS: "ubuntu-24.04"
48+
run: |
49+
VERSION="$(make kernelversion)-${PKGARCH}-$(date -u +%Y%m%d%H%M)-$(echo ${PKGOS} | sed "s/-//g")"
50+
echo "${VERSION}"
51+
echo "${VERSION}" > ../.version
52+
53+
- name: Build the kernel
54+
env:
55+
DEBEMAIL: "noreply@kernoops.org"
56+
DEBFULLNAME: "Custom Kernel Builds"
57+
KDEB_CHANGELOG_DIST: "ubuntu-24.04"
58+
KDEB_COMPRESS: "zstd"
59+
PKGOS: "ubuntu-24.04"
60+
run: |
61+
export KDEB_PKGVERSION="$(cat ../.version)"
62+
export KDEB_SOURCENAME="linux-kernoops-${KDEB_PKGVERSION}"
63+
64+
make oldconfig
65+
make deb-pkg -j$(nproc) || make deb-pkg -j$(nproc)
66+
67+
- name: Prepare the artifacts
68+
run: |
69+
mkdir out/
70+
mv ../linux-* out/
71+
72+
- name: Upload resulting build
73+
uses: actions/upload-artifact@v4
74+
continue-on-error: true
75+
with:
76+
name: linux-kernel-build
77+
path: out/*
78+
if-no-files-found: error
79+
retention-days: 90

0 commit comments

Comments
 (0)