[PATCH v5] test: performance: add DMA performance tester with packet I/O #3470
Workflow file for this run
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 x86_64 | |
on: [push, pull_request] | |
env: | |
ARCH: x86_64 | |
CC: gcc | |
CONTAINER_NAMESPACE: ghcr.io/opendataplane/odp-docker-images | |
OS: ubuntu_20.04 | |
jobs: | |
Checkpatch: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install codespell | |
- name: Check pull request | |
if: github.event_name == 'pull_request' | |
env: | |
CHECKPATCH_COMMAND: ./scripts/checkpatch.pl | |
uses: webispy/checkpatch-action@v8 | |
- name: Check push | |
if: github.event_name == 'push' && github.ref != 'refs/heads/master' | |
run: | | |
AFTER=${{ github.event.after }} | |
BEFORE=${{ github.event.before }} | |
if [ -z "${BEFORE//0}" ] || [ -z "${AFTER//0}" ]; then | |
COMMIT_RANGE="" | |
else | |
COMMIT_RANGE="${BEFORE}..${AFTER}" | |
fi | |
./scripts/ci-checkpatches.sh ${COMMIT_RANGE} | |
Documentation: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install doxygen asciidoctor libconfig-dev libssl-dev mscgen cmake graphviz | |
sudo gem install asciidoctor | |
- name: Build | |
shell: bash | |
run: | | |
./bootstrap | |
./configure --enable-user-guides | |
pushd doc | |
make | |
popd | |
touch ./doxygen.log | |
# Doxygen does not trap on warnings, check for them here. | |
make doxygen-doc 2>&1 | tee ./doxygen.log | |
! fgrep -rq warning ./doxygen.log | |
Build: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
conf: ['', 'CFLAGS=-O3', 'CFLAGS=-O1', 'CFLAGS=-O0 --enable-debug=full', 'CFLAGS=-Os', 'CFLAGS=-pedantic', | |
'--enable-lto', '--enable-lto --enable-abi-compat', '--enable-pcapng-support'] | |
exclude: | |
- cc: clang | |
conf: '--enable-lto' | |
- cc: clang | |
conf: '--enable-lto --enable-abi-compat' | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_static_u20: | |
runs-on: ubuntu-20.04 | |
env: | |
OS: ubuntu_20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc_ver: [9] | |
conf: ['--disable-shared', '--enable-lto --disable-shared'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="gcc-${{matrix.cc_ver}}" -e CXX="g++-${{matrix.cc_ver}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_static.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_static_u22: | |
runs-on: ubuntu-20.04 | |
env: | |
OS: ubuntu_22.04 | |
CONF: "--disable-shared --without-openssl --without-pcap" | |
strategy: | |
fail-fast: false | |
matrix: | |
cc_ver: [10, 11, 12] | |
conf: ['', '--enable-lto'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="gcc-${{matrix.cc_ver}}" -e CXX="g++-${{matrix.cc_ver}}" | |
-e CONF="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_static.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_arm64: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: arm64 | |
CONF: "--enable-dpdk-shared" | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
conf: ['', '--enable-abi-compat', 'CFLAGS=-march=armv8.2-a', 'CFLAGS=-march=armv8-a+lse', | |
'--with-crypto=armv8crypto'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_arm64_u18: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: arm64 | |
OS: ubuntu_18.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_armhf: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: armhf | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
conf: ['', '--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_ppc64el: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: ppc64el | |
CONF: "--enable-dpdk-shared" | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
conf: ['', '--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_i386: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: i386 | |
OS: ubuntu_18.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
conf: ['', '--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_riscv64: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: riscv64 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc] | |
conf: ['', '--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_OS: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
os: ['centos_7', 'rocky_linux_8'] | |
conf: ['--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${{matrix.os}}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_gcc_u18: | |
runs-on: ubuntu-20.04 | |
env: | |
OS: ubuntu_18.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc_ver: [7, 8] | |
conf: ['', '--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="gcc-${{matrix.cc_ver}}" -e CXX="g++-${{matrix.cc_ver}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_gcc_u22: | |
runs-on: ubuntu-20.04 | |
env: | |
OS: ubuntu_22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc_ver: [10, 11, 12, 13] | |
conf: ['', '--enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="gcc-${{matrix.cc_ver}}" -e CXX="g++-${{matrix.cc_ver}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_out-of-tree: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/out_of_tree.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Build_XDP: | |
runs-on: ubuntu-20.04 | |
env: | |
CONF: "--enable-xdp" | |
OS: ubuntu_22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name config.log -exec cat {} \; | |
Run_coverage: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/coverage.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
- name: Upload to Codecov | |
uses: codecov/codecov-action@v3 | |
Run_distcheck: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
conf: ['--enable-user-guides', '--enable-user-guides --enable-abi-compat'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" | |
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/distcheck.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
conf: ['', '--enable-abi-compat', '--enable-deprecated --enable-helper-deprecated --enable-debug=full', | |
'--enable-dpdk-zero-copy --disable-static-applications', | |
'--disable-host-optimization --enable-event-validation=warn', | |
'--disable-host-optimization --enable-abi-compat', | |
'--without-openssl --without-pcap'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" -e ARCH="${ARCH}" | |
-e CXX=g++-10 -e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_OS: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang] | |
os: ['ubuntu_18.04', 'ubuntu_22.04'] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${{matrix.os}}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_sched_config: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-generic/test/sched-basic.conf $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_stash_config: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-generic/test/stash-custom.conf $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_scheduler_sp: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_SCHEDULER=sp $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_scheduler_scalable: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_SCHEDULER=scalable -e CI_SKIP=pktio_test_pktin_event_sched $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_process_mode: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-generic/test/process-mode.conf | |
-e ODPH_PROC_MODE=1 $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_inline_timer: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-generic/test/inline-timer.conf | |
$CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check_inline_timer.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_packet_align: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-generic/test/packet_align.conf | |
$CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check_pktio.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_dpdk-19_11: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-dpdk_19.11 /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_dpdk-20_11: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-dpdk_20.11 /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done | |
Run_dpdk-21_11: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" | |
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-dpdk_21.11 /odp/scripts/ci/check.sh | |
- name: Failure log | |
if: ${{ failure() }} | |
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done |