Skip to content

kmod: fix makefile format #394

kmod: fix makefile format

kmod: fix makefile format #394

Workflow file for this run

name: Push actions
on:
push:
workflow_dispatch:
jobs:
test:
name: Run tests with ${{ matrix.flags.flags }} ${{ matrix.flags.args }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
flags:
- flags: CHECKSUM_HACK=kfunc
args: ''
desc: kfunc
- flags: CHECKSUM_HACK=kfunc USE_LIBXDP=0
args: ''
desc: kfunc-no-libxdp
- flags: CHECKSUM_HACK=kfunc USE_LIBXDP=1
args: ''
desc: kfunc-libxdp-use-libbpf
- flags: CHECKSUM_HACK=kfunc USE_LIBXDP=1
args: --use-libxdp
desc: kfunc-libxdp-use-libxdp
- flags: CHECKSUM_HACK=kprobe STRIP_BTF_EXT=1
args: ''
desc: kprobe-strip-btf-ext
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt install python3 clang-15 llvm pahole \
bats bc conntrack ethtool iperf3 jq socat tshark wireguard-tools \
libbpf-dev libffi-dev libelf-dev libxdp-dev
- name: Build & Test
run: |
export BPF_CC=clang-15
sudo cp /sys/kernel/btf/vmlinux /lib/modules/`uname -r`/build
make -j ${{ matrix.flags.flags }}
sudo nft delete table filter # Docker's nftables rule drops IPv4 packets in tests
sudo insmod out/mimic.ko
sudo env MIMIC_TEST_EXTRA_ARGS="${{ matrix.flags.args }}" make test ${{ matrix.flags.flags }}
- name: Upload captured packets
uses: actions/upload-artifact@v4
if: always()
with:
name: pcap-${{ matrix.flags.desc }}
path: out/*.pcapng
build-deb:
name: Build .deb packages for ${{ matrix.distro.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro:
- name: Debian 12
codename: bookworm
image: debian:bookworm-slim
extra-repos: |
deb http://deb.debian.org/debian bookworm-backports main
extra-cmd: |
sed -i 's/clang/clang-16/' debian/control
sed -i 's/BPF_CC=clang/BPF_CC=clang-16/' debian/rules
- name: Debian 13 (testing)
codename: trixie
image: debian:trixie-slim
- name: Debian sid
codename: sid
image: debian:sid-slim
- name: Ubuntu 24.04
codename: noble
image: ubuntu:noble
extra-repos: |
deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run pre-building script
run: ${{ matrix.distro.extra-cmd }}
- name: Build
uses: jtdor/build-deb-action@v1
with:
buildpackage-opts: -b -us -uc
docker-image: ${{ matrix.distro.image }}
extra-repos: ${{ matrix.distro.extra-repos }}
- name: Upload
uses: actions/upload-artifact@v4
with:
name: packages-${{ matrix.distro.codename }}
path: |
debian/artifacts/*.deb
debian/artifacts/*.ddeb
test-deb-install:
name: Test .deb installation
needs: build-deb
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: packages-noble
path: packages-noble
- name: Test Install
run: |
sudo apt install ./packages-noble/*.deb linux-headers-`uname -r`
sudo modprobe mimic
- name: Upload log
if: always()
uses: actions/upload-artifact@v4
with:
name: dkms-make-log
path: /var/lib/dkms/mimic/0.6.4/build/make.log