Skip to content

Commit 22e8f13

Browse files
committed
CI: Update DAHDI builds.
* Add additional builds targeting newer platforms, with workarounds * Remove a couple older kernel builders to help control number of builds * Add merged but unreleased bug fix * Dump HTTP response headers for GitHub API debugging
1 parent 40c4d48 commit 22e8f13

File tree

2 files changed

+149
-2
lines changed

2 files changed

+149
-2
lines changed

.github/workflows/main.yml

Lines changed: 146 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,152 @@ 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+
# We download the objtool patch from GitLab instead of GitHub, to avoid its stupid and unpredictable rate limits in the CI
87+
- name: Revert objtool patch
88+
run: |
89+
cd /usr/src/linux
90+
curl -f -o "/tmp/objtool.patch" "https://gitlab.com/linux-kernel/linux-next/-/commit/0b10177114d1e434af850b377cf5e6620dd1d525.patch"
91+
cat /tmp/objtool.patch
92+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
93+
- name: Build kernel
94+
run: |
95+
cd /usr/src/linux
96+
make -j$(nproc) kernelversion
97+
make -j$(nproc) x86_64_defconfig
98+
make -j$(nproc) modules_prepare
99+
make -j$(nproc)
100+
make -j$(nproc) modules
101+
- name: Checkout
102+
uses: actions/checkout@v4
103+
- name: Build DAHDI
104+
run: |
105+
./phreaknet.sh make
106+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers
107+
dahdi-nonfatal-mainline:
108+
runs-on: ubuntu-24.04
109+
name: DAHDI, nonfatal, mainline kernel
110+
container: debian:12
111+
steps:
112+
- name: Install packages
113+
run: |
114+
apt-get -y update
115+
apt-get -y upgrade
116+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
117+
- name: Clone kernel
118+
run: |
119+
cd /usr/src
120+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
121+
- name: Revert objtool patch
122+
run: |
123+
cd /usr/src/linux
124+
curl -f -o "/tmp/objtool.patch" "https://gitlab.com/linux-kernel/linux-next/-/commit/0b10177114d1e434af850b377cf5e6620dd1d525.patch"
125+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
126+
- name: Build kernel
127+
run: |
128+
cd /usr/src/linux
129+
make -j$(nproc) kernelversion
130+
make -j$(nproc) x86_64_defconfig
131+
make -j$(nproc) modules_prepare
132+
make -j$(nproc)
133+
make -j$(nproc) modules
134+
- name: Checkout
135+
uses: actions/checkout@v4
136+
- name: Build DAHDI
137+
run: |
138+
./phreaknet.sh make
139+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers
140+
dahdi-nonfatal-next:
141+
runs-on: ubuntu-24.04
142+
name: DAHDI, nonfatal, next kernel
143+
container: debian:12
144+
steps:
145+
- name: Install packages
146+
run: |
147+
apt-get -y update
148+
apt-get -y upgrade
149+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
150+
- name: Clone kernel
151+
run: |
152+
cd /usr/src
153+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
154+
- name: Revert objtool patch
155+
run: |
156+
cd /usr/src/linux-next
157+
curl -f -o "/tmp/objtool.patch" "https://gitlab.com/linux-kernel/linux-next/-/commit/0b10177114d1e434af850b377cf5e6620dd1d525.patch"
158+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
159+
- name: Build kernel
160+
run: |
161+
cd /usr/src/linux-next
162+
make -j$(nproc) kernelversion
163+
make -j$(nproc) x86_64_defconfig
164+
make -j$(nproc) modules_prepare
165+
make -j$(nproc)
166+
make -j$(nproc) modules
167+
- name: Checkout
168+
uses: actions/checkout@v4
169+
- name: Build DAHDI
170+
run: |
171+
./phreaknet.sh make
172+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux-next phreaknet dahdi --drivers
173+
dahdi-next-fortified:
174+
runs-on: ubuntu-24.04
175+
name: DAHDI, fortified
176+
container: fedora:42
177+
steps:
178+
- name: Install packages
179+
run: |
180+
dnf -y update
181+
dnf -y upgrade
182+
dnf -y install git gcc make flex bison wget openssl-devel elfutils-libelf-devel 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+
dnf -y install patch
191+
curl -f -o "/tmp/objtool.patch" "https://gitlab.com/linux-kernel/linux-next/-/commit/0b10177114d1e434af850b377cf5e6620dd1d525.patch"
192+
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
193+
- name: Build kernel
194+
run: |
195+
cd /usr/src/linux-next
196+
make -j$(nproc) kernelversion
197+
make -j$(nproc) x86_64_defconfig
198+
gcc -v
199+
./scripts/config --set-val CONFIG_FORTIFY_SOURCE y
200+
make -j$(nproc) modules_prepare
201+
cat .config
202+
make -j$(nproc)
203+
make -j$(nproc) modules
204+
- name: Checkout
205+
uses: actions/checkout@v4
206+
- name: Build DAHDI
207+
run: |
208+
./phreaknet.sh make
209+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux-next phreaknet dahdi --drivers
66210
ubuntu-latest:
67211
runs-on: ubuntu-24.04
68212
name: Ubuntu 24.04

phreaknet.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1514,6 +1514,7 @@ github_waitfor_ratelimit_reset() {
15141514
now=$( date +"%s" | tr -d '\n' )
15151515
waitsecs=$( expr $resetepoch - $now )
15161516
if [ $waitsecs -gt 0 ]; then # sanity check the result
1517+
cat $CURL_HEADERS_DUMPFILE # Dump headers, including x-github-request-id for debugging
15171518
echoerr "Waiting $waitsecs seconds for rate-limit reset..."
15181519
sleep $waitsecs
15191520
fi
@@ -2100,6 +2101,7 @@ install_dahdi() {
21002101
dahlin_apply_pr 77 # EXTRA_CFLAGS removal
21012102
dahlin_apply_pr 79 # vpmadt032 binary blob
21022103
dahlin_apply_pr 92 # del_timer_sync wrapper
2104+
dahlin_apply_pr 96 # from_timer renamed to timer_container_of
21032105

21042106
KERN_VER_MM=$( uname -r | cut -d. -f1-2 )
21052107
OS_DIST_2=$( printf "$OS_DIST_INFO" | cut -d' ' -f1-2)
@@ -2558,6 +2560,7 @@ phreak_patches() {
25582560
fi
25592561

25602562
## Merged, not yet in a release version (use asterisk_pr_if, e.g. asterisk_pr_if 1234 220400 210900 201400)
2563+
asterisk_pr_if 1302 220600 211100 201600 # sig_analog: Fix STP, ST2P, ST3P for fgccamamf
25612564

25622565
## Unmerged patches: remove or switch to asterisk_pr_if once merged
25632566

0 commit comments

Comments
 (0)