Skip to content

Commit 309fc67

Browse files
authored
DAHDI: Successfully build against the latest Linux kernel versions. (#43)
To better test DAHDI against more recent kernels, compile the kernel ourselves in the CI and build DAHDI against it, including any patches necessary to successfully do so. This includes various kernel releases in the 4, 5, and 6 major versions, all the way up to the current mainline and next kernels. In the future, this should catch most breakage as soon as it occurs.
1 parent fe73e12 commit 309fc67

File tree

2 files changed

+285
-112
lines changed

2 files changed

+285
-112
lines changed

.github/workflows/main.yml

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,113 @@ on:
1616
# kernel-devel mismatch has been detected. Package provides 6.12.0-0.rc0.20240918git4a39ac5b7d62, but running kernel is 6.8.0-1014-azure
1717

1818
jobs:
19+
dahdi-kernel-stable:
20+
runs-on: ubuntu-24.04
21+
name: DAHDI, stable kernel
22+
container: debian:12
23+
strategy:
24+
fail-fast: false
25+
matrix:
26+
kernel_branch: [
27+
'linux-4.14.y',
28+
'linux-4.19.y',
29+
'linux-5.4.y',
30+
'linux-5.10.y',
31+
'linux-5.15.y',
32+
'linux-5.17.y',
33+
'linux-5.18.y',
34+
'linux-5.19.y',
35+
'linux-6.1.y',
36+
'linux-6.5.y',
37+
'linux-6.6.y',
38+
'linux-6.7.y',
39+
'linux-6.8.y',
40+
'linux-6.9.y',
41+
'linux-6.10.y',
42+
'linux-6.11.y',
43+
'linux-rolling-lts',
44+
'linux-rolling-stable'
45+
]
46+
steps:
47+
- name: Install packages
48+
run: |
49+
apt-get -y update
50+
apt-get -y upgrade
51+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc
52+
- name: Clone kernel
53+
run: |
54+
cd /usr/src
55+
git clone --depth 1 --branch ${{matrix.kernel_branch}} git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
56+
- name: Build kernel
57+
run: |
58+
cd /usr/src/linux
59+
make -j$(nproc) kernelversion
60+
make -j$(nproc) x86_64_defconfig
61+
make -j$(nproc) modules_prepare
62+
make -j$(nproc)
63+
make -j$(nproc) modules
64+
- name: Checkout
65+
uses: actions/checkout@v4
66+
- name: Build DAHDI
67+
run: |
68+
./phreaknet.sh make
69+
KSRC=/usr/src/linux phreaknet dahdi --drivers
70+
dahdi-kernel-mainline:
71+
runs-on: ubuntu-24.04
72+
name: DAHDI, mainline kernel
73+
container: debian:12
74+
steps:
75+
- name: Install packages
76+
run: |
77+
apt-get -y update
78+
apt-get -y upgrade
79+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc
80+
- name: Clone kernel
81+
run: |
82+
cd /usr/src
83+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
84+
- name: Build kernel
85+
run: |
86+
cd /usr/src/linux
87+
make -j$(nproc) kernelversion
88+
make -j$(nproc) x86_64_defconfig
89+
make -j$(nproc) modules_prepare
90+
make -j$(nproc)
91+
make -j$(nproc) modules
92+
- name: Checkout
93+
uses: actions/checkout@v4
94+
- name: Build DAHDI
95+
run: |
96+
./phreaknet.sh make
97+
KSRC=/usr/src/linux phreaknet dahdi --drivers
98+
dahdi-kernel-next:
99+
runs-on: ubuntu-24.04
100+
name: DAHDI, next kernel
101+
container: debian:12
102+
steps:
103+
- name: Install packages
104+
run: |
105+
apt-get -y update
106+
apt-get -y upgrade
107+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc
108+
- name: Clone kernel
109+
run: |
110+
cd /usr/src
111+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
112+
- name: Build kernel
113+
run: |
114+
cd /usr/src/linux-next
115+
make -j$(nproc) kernelversion
116+
make -j$(nproc) x86_64_defconfig
117+
make -j$(nproc) modules_prepare
118+
make -j$(nproc)
119+
make -j$(nproc) modules
120+
- name: Checkout
121+
uses: actions/checkout@v4
122+
- name: Build DAHDI
123+
run: |
124+
./phreaknet.sh make
125+
KSRC=/usr/src/linux-next phreaknet dahdi --drivers
19126
ubuntu-latest:
20127
runs-on: ubuntu-24.04
21128
name: Ubuntu 24.04

0 commit comments

Comments
 (0)