install: Enhance CI and distro support and portability. #443
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
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 --devmode | |
# Skip tests on Ubuntu, since it takes the longest, and runtime doesn't vary by platform | |
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 | |
# Skip tests on Ubuntu, since it takes the longest, and runtime doesn't vary by platform | |
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 --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 --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 --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 --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 |