Skip to content

vpp-verify-make-test #11

vpp-verify-make-test

vpp-verify-make-test #11

name: vpp-verify-make-test
on:
workflow_run:
workflows: ["vpp-checkstyle"]
types:
- completed
defaults:
run:
shell: bash
permissions:
contents: read
actions: read
jobs:
vpp-verify-make-test:
name: vpp-verify-make-test-${{ github.event.workflow_run.head_branch }}-${{ matrix.os }}-${{ matrix.executor_arch }}
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on:
- self-hosted
- nomad
- fdio:arch=${{ matrix.executor_arch }}
- fdio:class=builder
- fdio:namespace=sandbox
- fdio:os=${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu2404', 'ubuntu2204', 'debian12']
executor_arch: ['x86_64', 'aarch64']
build-type: ['debug', 'release']
exclude:
# Exclude debian12 on aarch64 for all builds
- os: 'debian12'
executor_arch: 'aarch64'
# Exclude non-ubuntu2204 OS for debug builds
- build-type: 'debug'
os: 'ubuntu2404'
- build-type: 'debug'
os: 'debian12'
# Exclude aarch64 architecture for debug builds
- build-type: 'debug'
executor_arch: 'aarch64'
env:
CACHE_DATE: ${{ github.run_id }}
CCACHE_DIR: /scratch/ccache/${{ matrix.os }}-${{ matrix.executor_arch }}
MAKE_PARALLEL_JOBS: 16
TEST_JOBS: 16
TEST_RETRIES: 3
MAKE_TEST_OS: ${{ matrix.os == 'ubuntu2204' && 'ubuntu-22.04' || 'ubuntu-24.04' }}
MAKE_TEST_MULTIWORKER_OS: 'debian-12'
VPPAPIGEN_TEST_OS: ${{ matrix.os == 'ubuntu2204' && 'ubuntu-22.04' || 'ubuntu-24.04' }}
SHM_SIZE: ${{ matrix.executor_arch == 'aarch64' && '4096M' || '2048M' }}
WORKSPACE: ${{ github.workspace }}
GERRIT_BRANCH: ""
GERRIT_CHANGE_URL: ""
GERRIT_PROJECT: ""
GERRIT_REFSPEC: ""
TUI_LINE: "*******************************************************************"
steps:
- name: Actions Checkout
uses: actions/checkout@v5
- name: "Show Nomad Attributes"
uses: pmikus/.github/.github/actions/show-nomad-attributes@main
- name: "Show Nomad Dockerfile"
uses: pmikus/.github/.github/actions/show-nomad-dockerfile@main
- name: Restore VPP Gerrit Environment Variables
uses: pmikus/.github/.github/actions/gerrit-env-vars-restore@main
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Gerrit Checkout
# yamllint disable-line rule:line-length
uses: lfreleng-actions/checkout-gerrit-change-action@54d751e8bd167bc91f7d665dabe33fae87aaaa63 # v0.9
with:
gerrit-refspec: ${{ env.GERRIT_REFSPEC }}
gerrit-project: ${{ env.GERRIT_PROJECT }}
gerrit-url: ${{ env.GERRIT_CHANGE_URL }}
ref: refs/heads/${{ env.GERRIT_BRANCH }}
fetch-depth: 0
delay: "0s"
- name: Setup Environment
uses: pmikus/.github/.github/actions/setup-executor-env@main
- name: Setup Docker VPP Runtime Environment for 'make test'
uses: pmikus/vpp/.github/actions/vpp-docker-runtime-setup@master
with:
SHM_SIZE: ${{ env.SHM_SIZE }}
- name: Install VPP dependencies
uses: pmikus/vpp/.github/actions/vpp-install-deps@master
- name: Install VPP external dependencies
uses: pmikus/vpp/.github/actions/vpp-install-ext-deps@master
- name: Build VPP
uses: pmikus/vpp/.github/actions/vpp-build@master
with:
MAKE_PARALLEL_JOBS: ${{ env.MAKE_PARALLEL_JOBS }}
BUILD_TYPE: ${{ matrix['build-type'] }}
- name: VPP Make Test
uses: pmikus/vpp/.github/actions/vpp-make-test@master
timeout-minutes: 75
with:
TEST_JOBS: ${{ env.TEST_JOBS }}
TEST_RETRIES: ${{ env.TEST_RETRIES }}
MAKE_TEST_OS: ${{ env.MAKE_TEST_OS }}
MAKE_TEST_MULTIWORKER_OS: ${{ env.MAKE_TEST_MULTIWORKER_OS }}
VPPAPIGEN_TEST_OS: ${{ env.VPPAPIGEN_TEST_OS }}