Skip to content

Merge pull request #87 from Atul-source/fix-interface-name-validation #320

Merge pull request #87 from Atul-source/fix-interface-name-validation

Merge pull request #87 from Atul-source/fix-interface-name-validation #320

name: CI build for ipfix-flow-exporter
on:
pull_request: {}
push:
branches:
- main
jobs:
ipfix-flow-exporter-build-ubuntu:
runs-on: ubuntu-latest
container:
image: ubuntu:focal
steps:
- name: Set up build environment
run: |
apt-get update
apt-get install -y bc \
bison \
build-essential \
clang \
curl \
exuberant-ctags \
flex \
gcc-8 \
gcc-multilib \
git \
gnutls-bin \
libc6-dev \
libcurl4-openssl-dev \
libelf-dev \
libjson-c-dev \
libncurses5-dev \
libpcap-dev \
libssl-dev \
linux-headers-generic \
linux-tools-common \
linux-tools-generic \
llvm \
rsync
- name: Set env variables
run: |
echo "REPO=eBPF-Package-Repository" >> $GITHUB_ENV
echo "PROG=ipfix-flow-exporter" >> $GITHUB_ENV
echo "BPF_PATH=samples/bpf" >> $GITHUB_ENV
echo "LINUX_SRC_PATH=$GITHUB_WORKSPACE/linux" >> $GITHUB_ENV
- name: Clone dependencies
run: |
git clone --branch v5.15 --depth 1 https://github.com/torvalds/linux.git $LINUX_SRC_PATH
cd $LINUX_SRC_PATH
make defconfig
make prepare
make headers_install
- name: Clone kernel function repository
uses: actions/checkout@v2
with:
path: linux/${{ env.BPF_PATH }}/${{ env.REPO }}/
- name: Build eBPF Programs
run: |
cd $LINUX_SRC_PATH/$BPF_PATH/$REPO/$PROG
make
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: ipfix-flow-exporter-linux-artifact
path: ${{ env.LINUX_SRC_PATH }}/${{ env.BPF_PATH }}/${{ env.REPO }}/${{ env.PROG }}/l3af_bpf_ipfix/*