Update tracereplay to use trace_construct_packet_zc() #150
This file contains hidden or 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: DPDK Build | |
| on: | |
| push: | |
| pull_request: | |
| paths: | |
| - 'configure.in' | |
| - 'lib/format_dpdk.c' | |
| - 'lib/format_dpdk.h' | |
| - 'lib/dpdk_libtrace.mk' | |
| - 'lib/format_dpdkndag.c' | |
| - 'test/do-test-build-dpdk.sh' | |
| - 'test/do-test-build-dpdk-live.sh' | |
| - '.github/workflows/dpdk.yaml' | |
| - 'test/Makefile' | |
| workflow_dispatch: | |
| jobs: | |
| pre_job: | |
| name: Prerequisite checks | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
| steps: | |
| - id: skip_check | |
| uses: fkirc/skip-duplicate-actions@master | |
| with: | |
| concurrent_skipping: 'same_content' | |
| cancel_others: 'true' | |
| build-dpdk: | |
| name: Build ${{ matrix.dpdk_version }} ${{ matrix.os }} | |
| needs: pre_job | |
| if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04] | |
| dpdk_version: [dpdk-24.11.1, dpdk-23.11, dpdk-22.07, dpdk-21.11.2, dpdk-20.11.6] | |
| exclude: | |
| - os: ubuntu-20.04 | |
| dpdk_version: dpdk-24.11.1 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: libtrace | |
| submodules: recursive | |
| - name: Setup hugepages | |
| run: | | |
| echo "1024" | sudo tee -a /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages | |
| echo "4" | sudo tee -a /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages | |
| sudo mkdir /dev/hugepages1G | |
| sudo mkdir /dev/hugepages2M | |
| sudo mount -t hugetlbfs -o pagesize=1GB none /dev/hugepages1G | |
| sudo mount -t hugetlbfs -o pagesize=2M none /dev/hugepages2M | |
| sudo mount | |
| - name: Install dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt-get -y install build-essential python3-pyelftools flex bison python3-pip python3-setuptools libfl-dev | |
| sudo apt-get -y install libpcap0.8-dev libtool pkgconf wget m4 autoconf automake gcc libnuma-dev | |
| sudo apt-get -y install meson ninja-build libsystemd-dev | |
| sudo pip3 install meson ninja || true | |
| - name: Install wandio | |
| run: | | |
| cd libtrace/wandio | |
| ./bootstrap.sh | |
| ./configure | |
| make -j 3 | |
| sudo make install | |
| sudo ldconfig | |
| - name: Build ${{ matrix.dpdk_version }} | |
| run: cd libtrace/test; sudo ./do-test-build-dpdk.sh ${{ matrix.dpdk_version }} | |
| - name: Build tests ${{ matrix.dpdk_version }} | |
| run: cd libtrace/test; make dpdk DPDK_BUILD=DPDK_builds/${{ matrix.dpdk_version }} | |
| - name: Run tests ${{ matrix.dpdk_version }} | |
| run: cd libtrace/test; sudo ./do-test-build-dpdk-live.sh |