vpp-verify-make-test #11
This file contains hidden or 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: 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 }} |