Skip to content

linux-dpdk: validation: ml: add validation tests #414

linux-dpdk: validation: ml: add validation tests

linux-dpdk: validation: ml: add validation tests #414

Workflow file for this run

name: CI x86_64
on: [push, pull_request, merge_group]
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@v4
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@v9
- 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}" ] || ${{ github.event.forced }}; then
COMMIT_RANGE=""
else
COMMIT_RANGE="${BEFORE}..${AFTER}"
fi
./scripts/ci-checkpatches.sh ${COMMIT_RANGE}
Documentation:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt update
sudo apt install doxygen asciidoctor libconfig-dev libssl-dev mscgen cmake graphviz libdpdk-dev
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_gcc:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
conf: ['',
'CFLAGS=-O3',
'CFLAGS=-O1',
'CFLAGS=-O0 --enable-debug=full',
'CFLAGS=-Os',
'CFLAGS=-pedantic',
'--enable-lto',
'--enable-lto --enable-abi-compat',
'--enable-pcapng-support --enable-icache-perf-test']
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC=gcc
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_clang:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
conf: ['',
'CFLAGS=-O3',
'CFLAGS=-O1',
'CFLAGS=-O0 --enable-debug=full',
'CFLAGS=-Os',
'CFLAGS=-pedantic',
'--enable-pcapng-support',
'--without-openssl --without-pcap']
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC=clang
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
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: [9, 10, 11, 12]
conf: ['', '--enable-lto']
steps:
- uses: actions/checkout@v4
- 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}-static /odp/scripts/ci/build_static.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
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',
'--enable-wfe-locks']
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_ppc64el:
runs-on: ubuntu-20.04
env:
ARCH: ppc64el
CONF: "--enable-dpdk-shared"
strategy:
fail-fast: false
matrix:
conf: ['', '--enable-abi-compat']
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}"
-e CONF="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
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@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_OS:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
os: ['rocky_linux_8']
conf: ['--enable-abi-compat']
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_gcc_u20:
runs-on: ubuntu-20.04
env:
OS: ubuntu_20.04
strategy:
fail-fast: false
matrix:
cc_ver: [7, 8]
conf: ['', '--enable-abi-compat']
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
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@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_out-of-tree:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_linux-generic:
runs-on: ubuntu-20.04
env:
CONF: "--with-platform=linux-generic"
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ODP_LIB_NAME="libodp-linux"
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
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@v4
# Ignore distcheck failure (caused by the first 'make check' run unmounting huge pages)
- 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 || true
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_gcc:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
conf: ['',
'--enable-abi-compat',
'--enable-deprecated --enable-helper-deprecated --enable-debug=full',
'--disable-static-applications',
'--disable-host-optimization --enable-event-validation=warn',
'--disable-host-optimization --enable-abi-compat',
'--without-openssl --without-pcap']
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC=gcc -e ARCH="${ARCH}"
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
- if: ${{ success() }}
uses: ./.github/actions/dump-log
Run_clang:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
conf: ['',
'--enable-abi-compat',
'--enable-deprecated --enable-helper-deprecated --enable-debug=full',
'--disable-static-applications',
'--disable-host-optimization --enable-event-validation=warn',
'--disable-host-optimization --enable-abi-compat']
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC=clang -e ARCH="${ARCH}"
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_OS:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
os: ['ubuntu_22.04']
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_sched_config:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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-dpdk/test/sched-basic.conf $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_stash_config:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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-dpdk/test/stash-custom.conf $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_scheduler_sp:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_process_mode:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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-dpdk/test/process-mode.conf
-e ODPH_PROC_MODE=1 $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_default_timer:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}"
-e ODP_CONFIG_FILE=/odp/platform/linux-dpdk/test/default-timer.conf
-e CONF="${CONF}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check_validation.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_dpdk-21_11:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_dpdk-23_11:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- 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_23.11 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_crypto:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
driver: [crypto_aesni_mb, crypto_aesni_gcm]
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}"
-e CONF="${CONF}" -e ODP_PLATFORM_PARAMS="--vdev=${{matrix.driver}}"
-e ODP_CONFIG_FILE=/odp/platform/linux-dpdk/test/crypto.conf
$CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check_validation.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_sanitizer:
runs-on: ubuntu-20.04
env:
OS: ubuntu_22.04
strategy:
fail-fast: false
matrix:
flags: ['-fsanitize=address,undefined -fno-sanitize-recover=all']
steps:
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}"
-e CFLAGS="-O0 -g -Wno-error ${{matrix.flags}}"
-e CXXFLAGS="-O0 -g -Wno-error ${{matrix.flags}}"
-e LDFLAGS="-g ${{matrix.flags}}"
$CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log