Skip to content

test: l2fwd_perf: add runner script #901

test: l2fwd_perf: add runner script

test: l2fwd_perf: add runner script #901

name: CI arm64
# github.repository has been used to ensure CI is only run on the repo where
# self-hosted runners are installed. This will prevent CI failing on forks.
on: [push, pull_request, merge_group]
env:
ARCH: arm64
CC: gcc
CONTAINER_NAMESPACE: ghcr.io/opendataplane/odp-docker-images
OS: ubuntu_20.04
jobs:
Build_gcc:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
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: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_clang:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
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',
'--with-crypto=armv8crypto',
'--with-crypto=ipsecmb',
'--enable-wfe-locks']
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_static_u24:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
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: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/build_static.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_OS:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
os: ['rocky_linux_8']
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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-${{matrix.os}}-${ARCH}-graviton3 /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_gcc_u24:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
env:
OS: ubuntu_24.04
strategy:
fail-fast: false
matrix:
cc_ver: [10, 11, 12, 13, 14]
conf: ['', '--enable-abi-compat']
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_out-of-tree:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/out_of_tree.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Build_XDP:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
env:
CONF: "--enable-xdp"
OS: ubuntu_22.04
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/build_${ARCH}.sh
- if: ${{ failure() }}
uses: ./.github/actions/build-failure-log
Run_distcheck:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
strategy:
fail-fast: false
matrix:
conf: ['--enable-user-guides', '--enable-user-guides --enable-abi-compat']
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/distcheck.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_gcc:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
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',
'--with-crypto=armv8crypto',
'--with-crypto=ipsecmb',
'--enable-wfe-locks']
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
- if: ${{ success() }}
uses: ./.github/actions/dump-log
Run_clang:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
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: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_CFLAGS:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
cflags: ['-march=armv8.4-a -O2', '-march=armv8.4-a+crypto -O2']
steps:
- uses: OpenDataPlane/action-clean-up@main
- uses: actions/checkout@v4
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${{matrix.cc}}" -e ARCH="${ARCH}"
-e CXX=g++-10 -e CFLAGS="${{matrix.cflags}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_OS:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
strategy:
fail-fast: false
matrix:
os: ['ubuntu_22.04']
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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-${{matrix.os}}-${ARCH}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_sched_config:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_stash_config:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_scheduler_sp:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_scheduler_scalable:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_process_mode:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_inline_timer:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check_inline_timer.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_packet_align:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3 /odp/scripts/ci/check_pktio.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_dpdk-21_11:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3-dpdk_21.11 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log
Run_dpdk-23_11:
if: ${{ github.repository == 'OpenDataPlane/odp' }}
runs-on: ah-ubuntu_22_04-c7g_2x-50
steps:
- uses: OpenDataPlane/action-clean-up@main
- 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}-graviton3-dpdk_23.11 /odp/scripts/ci/check.sh
- if: ${{ failure() }}
uses: ./.github/actions/run-failure-log