Skip to content

Commit 8ab9e61

Browse files
committed
CI: Add builds that treat objtool failures as nonfatal.
Due to asterisk/dahdi-linux#80, builds since that commit have been failing and we are missing all other build issues since this one. Add additional builds that revert this kernel commit for now, so we can test for breakage since then. When this issue is fixed, this can be undone.
1 parent 40c4d48 commit 8ab9e61

File tree

2 files changed

+183
-2
lines changed

2 files changed

+183
-2
lines changed

.github/workflows/main.yml

Lines changed: 182 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ jobs:
3131
'linux-5.19.y',
3232
'linux-6.1.y',
3333
'linux-6.5.y',
34-
'linux-6.6.y',
35-
'linux-6.7.y',
3634
'linux-6.8.y',
3735
'linux-6.9.y',
3836
'linux-6.10.y',
@@ -63,6 +61,188 @@ jobs:
6361
run: |
6462
./phreaknet.sh make
6563
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers
64+
dahdi-nonfatal-stable:
65+
runs-on: ubuntu-24.04
66+
name: DAHDI, nonfatal, stable kernel
67+
container: debian:12
68+
strategy:
69+
fail-fast: false
70+
matrix:
71+
# This patch doesn't revert cleanly in 6.12 through 6.14, but that's fine as long as we test newer kernels
72+
kernel_branch: [
73+
'linux-6.15.y',
74+
'linux-rolling-stable'
75+
]
76+
steps:
77+
- name: Install packages
78+
run: |
79+
apt-get -y update
80+
apt-get -y upgrade
81+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
82+
- name: Clone kernel
83+
run: |
84+
cd /usr/src
85+
git clone --depth 1 --branch ${{matrix.kernel_branch}} git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
86+
- name: Revert objtool patch
87+
run: |
88+
cd /usr/src/linux
89+
curl -o "/tmp/objtool.patch" -H "Accept: application/vnd.github.patch" "https://api.github.com/repos/torvalds/linux/commits/0b10177114d1e434af850b377cf5e6620dd1d525"
90+
cat /tmp/objtool.patch
91+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
92+
- name: Build kernel
93+
run: |
94+
cd /usr/src/linux
95+
make -j$(nproc) kernelversion
96+
make -j$(nproc) x86_64_defconfig
97+
make -j$(nproc) modules_prepare
98+
make -j$(nproc)
99+
make -j$(nproc) modules
100+
- name: Checkout
101+
uses: actions/checkout@v4
102+
- name: Build DAHDI
103+
run: |
104+
./phreaknet.sh make
105+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers
106+
dahdi-nonfatal-mainline:
107+
runs-on: ubuntu-24.04
108+
name: DAHDI, nonfatal, mainline kernel
109+
container: debian:12
110+
steps:
111+
- name: Install packages
112+
run: |
113+
apt-get -y update
114+
apt-get -y upgrade
115+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
116+
- name: Clone kernel
117+
run: |
118+
cd /usr/src
119+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
120+
- name: Revert objtool patch
121+
run: |
122+
cd /usr/src/linux
123+
curl -o "/tmp/objtool.patch" -H "Accept: application/vnd.github.patch" "https://api.github.com/repos/torvalds/linux/commits/0b10177114d1e434af850b377cf5e6620dd1d525"
124+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
125+
- name: Build kernel
126+
run: |
127+
cd /usr/src/linux
128+
make -j$(nproc) kernelversion
129+
make -j$(nproc) x86_64_defconfig
130+
make -j$(nproc) modules_prepare
131+
make -j$(nproc)
132+
make -j$(nproc) modules
133+
- name: Checkout
134+
uses: actions/checkout@v4
135+
- name: Build DAHDI
136+
run: |
137+
./phreaknet.sh make
138+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers
139+
dahdi-nonfatal-next:
140+
runs-on: ubuntu-24.04
141+
name: DAHDI, nonfatal, next kernel
142+
container: debian:12
143+
steps:
144+
- name: Install packages
145+
run: |
146+
apt-get -y update
147+
apt-get -y upgrade
148+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
149+
- name: Clone kernel
150+
run: |
151+
cd /usr/src
152+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
153+
- name: Revert objtool patch
154+
run: |
155+
cd /usr/src/linux-next
156+
curl -o "/tmp/objtool.patch" -H "Accept: application/vnd.github.patch" "https://api.github.com/repos/torvalds/linux/commits/0b10177114d1e434af850b377cf5e6620dd1d525"
157+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
158+
- name: Build kernel
159+
run: |
160+
cd /usr/src/linux-next
161+
make -j$(nproc) kernelversion
162+
make -j$(nproc) x86_64_defconfig
163+
make -j$(nproc) modules_prepare
164+
make -j$(nproc)
165+
make -j$(nproc) modules
166+
- name: Checkout
167+
uses: actions/checkout@v4
168+
- name: Build DAHDI
169+
run: |
170+
./phreaknet.sh make
171+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux-next phreaknet dahdi --drivers
172+
dahdi-next-fortified:
173+
runs-on: ubuntu-24.04
174+
name: DAHDI, fortified
175+
# Use Ubuntu so we can get a newer gcc
176+
container: ubuntu:24.04
177+
steps:
178+
- name: Install packages
179+
run: |
180+
apt-get -y update
181+
apt-get -y upgrade
182+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
183+
- name: Clone kernel
184+
run: |
185+
cd /usr/src
186+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
187+
- name: Revert objtool patch
188+
run: |
189+
cd /usr/src/linux-next
190+
curl -o "/tmp/objtool.patch" -H "Accept: application/vnd.github.patch" "https://api.github.com/repos/torvalds/linux/commits/0b10177114d1e434af850b377cf5e6620dd1d525"
191+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
192+
- name: Build kernel
193+
run: |
194+
cd /usr/src/linux-next
195+
make -j$(nproc) kernelversion
196+
make -j$(nproc) x86_64_defconfig
197+
gcc -v
198+
./scripts/config --set-val CONFIG_FORTIFY_SOURCE y
199+
make -j$(nproc) modules_prepare
200+
cat .config
201+
make -j$(nproc)
202+
make -j$(nproc) modules
203+
- name: Checkout
204+
uses: actions/checkout@v4
205+
- name: Build DAHDI
206+
run: |
207+
./phreaknet.sh make
208+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux-next phreaknet dahdi --drivers
209+
dahdi-next-fortified-fedora:
210+
runs-on: ubuntu-24.04
211+
name: DAHDI, fortified, Fedora
212+
container: fedora:42
213+
steps:
214+
- name: Install packages
215+
run: |
216+
dnf -y update
217+
dnf -y upgrade
218+
dnf -y install git gcc make flex bison wget openssl-devel elfutils-libelf-devel bc curl
219+
- name: Clone kernel
220+
run: |
221+
cd /usr/src
222+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
223+
- name: Revert objtool patch
224+
run: |
225+
cd /usr/src/linux-next
226+
dnf -y install patch
227+
curl -o "/tmp/objtool.patch" -H "Accept: application/vnd.github.patch" "https://api.github.com/repos/torvalds/linux/commits/0b10177114d1e434af850b377cf5e6620dd1d525"
228+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
229+
- name: Build kernel
230+
run: |
231+
cd /usr/src/linux-next
232+
make -j$(nproc) kernelversion
233+
make -j$(nproc) x86_64_defconfig
234+
gcc -v
235+
./scripts/config --set-val CONFIG_FORTIFY_SOURCE y
236+
make -j$(nproc) modules_prepare
237+
cat .config
238+
make -j$(nproc)
239+
make -j$(nproc) modules
240+
- name: Checkout
241+
uses: actions/checkout@v4
242+
- name: Build DAHDI
243+
run: |
244+
./phreaknet.sh make
245+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux-next phreaknet dahdi --drivers
66246
ubuntu-latest:
67247
runs-on: ubuntu-24.04
68248
name: Ubuntu 24.04

phreaknet.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2100,6 +2100,7 @@ install_dahdi() {
21002100
dahlin_apply_pr 77 # EXTRA_CFLAGS removal
21012101
dahlin_apply_pr 79 # vpmadt032 binary blob
21022102
dahlin_apply_pr 92 # del_timer_sync wrapper
2103+
dahlin_apply_pr 96 # from_timer renamed to timer_container_of
21032104

21042105
KERN_VER_MM=$( uname -r | cut -d. -f1-2 )
21052106
OS_DIST_2=$( printf "$OS_DIST_INFO" | cut -d' ' -f1-2)

0 commit comments

Comments
 (0)