Skip to content

CI

CI #496

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Retest weekly to ensure nothing has broken
schedule:
- cron: '0 1 15 * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# DAHDI not currently built in Fedora-based distros due to missing Azure kernel headers:
# kernel-devel mismatch has been detected. Package provides 6.12.0-0.rc0.20240918git4a39ac5b7d62, but running kernel is 6.8.0-1014-azure
jobs:
dahdi-kernel-stable:
runs-on: ubuntu-24.04
name: DAHDI, stable kernel
container: debian:12
strategy:
fail-fast: false
matrix:
kernel_branch: [
'linux-4.14.y',
'linux-4.19.y',
'linux-5.4.y',
'linux-5.10.y',
'linux-5.15.y',
'linux-5.17.y',
'linux-5.18.y',
'linux-5.19.y',
'linux-6.1.y',
'linux-6.5.y',
'linux-6.6.y',
'linux-6.7.y',
'linux-6.8.y',
'linux-6.9.y',
'linux-6.10.y',
'linux-6.11.y',
'linux-rolling-lts',
'linux-rolling-stable'
]
steps:
- name: Install packages
run: |
apt-get -y update
apt-get -y upgrade
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc
- name: Clone kernel
run: |
cd /usr/src
git clone --depth 1 --branch ${{matrix.kernel_branch}} git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- name: Build kernel
run: |
cd /usr/src/linux
make -j$(nproc) kernelversion
make -j$(nproc) x86_64_defconfig
make -j$(nproc) modules_prepare
make -j$(nproc)
make -j$(nproc) modules
- name: Checkout
uses: actions/checkout@v4
- name: Build DAHDI
run: |
./phreaknet.sh make
KSRC=/usr/src/linux phreaknet dahdi --drivers
dahdi-kernel-mainline:
runs-on: ubuntu-24.04
name: DAHDI, mainline kernel
container: debian:12
steps:
- name: Install packages
run: |
apt-get -y update
apt-get -y upgrade
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc
- name: Clone kernel
run: |
cd /usr/src
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
- name: Build kernel
run: |
cd /usr/src/linux
make -j$(nproc) kernelversion
make -j$(nproc) x86_64_defconfig
make -j$(nproc) modules_prepare
make -j$(nproc)
make -j$(nproc) modules
- name: Checkout
uses: actions/checkout@v4
- name: Build DAHDI
run: |
./phreaknet.sh make
KSRC=/usr/src/linux phreaknet dahdi --drivers
dahdi-kernel-next:
runs-on: ubuntu-24.04
name: DAHDI, next kernel
container: debian:12
steps:
- name: Install packages
run: |
apt-get -y update
apt-get -y upgrade
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc
- name: Clone kernel
run: |
cd /usr/src
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
- name: Build kernel
run: |
cd /usr/src/linux-next
make -j$(nproc) kernelversion
make -j$(nproc) x86_64_defconfig
make -j$(nproc) modules_prepare
make -j$(nproc)
make -j$(nproc) modules
- name: Checkout
uses: actions/checkout@v4
- name: Build DAHDI
run: |
./phreaknet.sh make
KSRC=/usr/src/linux-next phreaknet dahdi --drivers
ubuntu-latest:
runs-on: ubuntu-24.04
name: Ubuntu 24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
sudo ./phreaknet.sh make
sudo phreaknet install --fast --dahdi --drivers --sip --devmode
ubuntu-stable:
runs-on: ubuntu-22.04
name: Ubuntu 22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
sudo ./phreaknet.sh make
sudo phreaknet install --fast --dahdi --drivers --sip --devmode
debian-stable-asterisk-lts:
runs-on: ubuntu-24.04
name: Debian 12, Asterisk 20
container: debian:12
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --dahdi --drivers --sip --testsuite --version=20
- name: Run tests
run: |
phreaknet runtests
debian-stable-asterisk-latest:
runs-on: ubuntu-24.04
name: Debian 12
container: debian:12
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --dahdi --drivers --sip --testsuite
- name: Run tests
run: |
phreaknet runtests
debian-stable-asterisk-latest-unpatched:
runs-on: ubuntu-24.04
name: Debian 12, vanilla Asterisk
container: debian:12
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --dahdi --devmode --sip --vanilla --user=asterisk
fedora-42:
runs-on: ubuntu-24.04
name: Fedora 42
container: fedora:42
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --sip --devmode
rocky-9:
runs-on: ubuntu-24.04
name: Rocky Linux 9.3
container: rockylinux:9.3
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --sip --devmode
rocky-8:
runs-on: ubuntu-24.04
name: Rocky Linux 8.9
container: rockylinux:8.9
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --sip --devmode
opensuse:
runs-on: ubuntu-24.04
name: openSUSE Tumbleweed
container: opensuse/tumbleweed
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --sip --devmode
archlinux:
runs-on: ubuntu-24.04
name: Arch Linux
container: archlinux:latest
steps:
- uses: actions/checkout@v4
- name: Build DAHDI and Asterisk
run: |
./phreaknet.sh make
phreaknet install --fast --dahdi --drivers --sip --devmode
# FreeBSD CI disabled since libuuid headers can't get installed in CI?
# freebsd-14:
# runs-on: ubuntu-24.04
# name: FreeBSD
# steps:
# - uses: actions/checkout@v4
# - name: Build Asterisk
# uses: vmactions/freebsd-vm@v1
# with:
# usesh: true
# run: |
# ./phreaknet.sh make
# phreaknet install --fast --sip --devmode