[PATCH v3] LSO: improve validation tests and the implementation #4630
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, 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-20.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 | |
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_u24: | |
runs-on: ubuntu-20.04 | |
env: | |
OS: ubuntu_24.04 | |
CONF: "--disable-shared --without-openssl --without-pcap" | |
strategy: | |
fail-fast: false | |
matrix: | |
cc_ver: [10, 14] | |
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} /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', | |
'--with-crypto=armv8crypto', '--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_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@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_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@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_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_riscv64: | |
runs-on: ubuntu-20.04 | |
env: | |
ARCH: riscv64 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc] | |
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_u24: | |
runs-on: ubuntu-20.04 | |
env: | |
OS: ubuntu_24.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cc_ver: [10, 11, 12, 13, 14] | |
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_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@v4 | |
- 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 | |
- 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 | |
- 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 | |
- 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', | |
'--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@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', | |
'--enable-dpdk-zero-copy --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-generic/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-generic/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_scheduler_scalable: | |
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=scalable -e CI_SKIP=pktio_test_pktin_event_sched $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-generic/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_inline_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 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 | |
- if: ${{ failure() }} | |
uses: ./.github/actions/run-failure-log | |
Run_packet_align: | |
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-generic/test/packet_align.conf | |
$CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check_pktio.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_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 |