Skip to content

Commit 7bfac31

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 7bfac31

File tree

2 files changed

+175
-2
lines changed

2 files changed

+175
-2
lines changed

.github/workflows/main.yml

Lines changed: 174 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,180 @@ 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+
container: fedora:42
176+
steps:
177+
- name: Install packages
178+
run: |
179+
dnf -y update
180+
dnf -y upgrade
181+
dnf -y install git gcc make flex bison wget openssl-devel elfutils-libelf-devel bc curl
182+
- name: Clone kernel
183+
run: |
184+
cd /usr/src
185+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
186+
- name: Revert objtool patch
187+
run: |
188+
cd /usr/src/linux-next
189+
dnf -y install patch
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+
armv7:
210+
# The host should always be Linux
211+
runs-on: ubuntu-24.04
212+
name: armv7
213+
steps:
214+
- name: Checkout
215+
uses: actions/checkout@v4
216+
- uses: uraimo/run-on-arch-action@v3
217+
name: Build kernel, DAHDI, Asterisk
218+
id: runcmd
219+
with:
220+
arch: armv7
221+
distro: ubuntu_devel
222+
run: |
223+
apt-get -y update
224+
apt-get -y upgrade
225+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
226+
./phreaknet.sh make
227+
cd /usr/src
228+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
229+
cd /usr/src/linux-next
230+
curl -o "/tmp/objtool.patch" -H "Accept: application/vnd.github.patch" "https://api.github.com/repos/torvalds/linux/commits/0b10177114d1e434af850b377cf5e6620dd1d525"
231+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
232+
make -j$(nproc) kernelversion
233+
make -j$(nproc) x86_64_defconfig
234+
make -j$(nproc) modules_prepare
235+
make -j$(nproc)
236+
make -j$(nproc) modules
237+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux-next phreaknet dahdi --drivers
66238
ubuntu-latest:
67239
runs-on: ubuntu-24.04
68240
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)