From 31c21a1f306d629c0d01b97da6822acde29289ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=82osz=20Linkiewicz?= Date: Tue, 11 Feb 2025 17:59:20 +0100 Subject: [PATCH] Refactor: Update and rename ubuntu_build_with_gtest.yml (#1073) Update and rename `gtest-bare-metal` file: - Rename `ubuntu_build_with_gtest.yml` to `gtest-bare-metal.yml` to reflect the workflow naming convention - Allow branch choosing for workflow run, --- ...ld_with_gtest.yml => gtest-bare-metal.yml} | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) rename .github/workflows/{ubuntu_build_with_gtest.yml => gtest-bare-metal.yml} (64%) diff --git a/.github/workflows/ubuntu_build_with_gtest.yml b/.github/workflows/gtest-bare-metal.yml similarity index 64% rename from .github/workflows/ubuntu_build_with_gtest.yml rename to .github/workflows/gtest-bare-metal.yml index 5247a6d46..6541c4c9d 100644 --- a/.github/workflows/ubuntu_build_with_gtest.yml +++ b/.github/workflows/gtest-bare-metal.yml @@ -3,6 +3,13 @@ name: gtest-bare-metal on: # allow manually trigger workflow_dispatch: + inputs: + branch-to-checkout: + type: string + default: 'main' + required: false + description: 'Branch name to use' + push: branches: - main @@ -18,14 +25,15 @@ concurrency: env: # Customize the env if - BUILD_TYPE: Release - DPDK_VERSION: 23.11 - TEST_PF_PORT_P: "0000:49:00.0" - TEST_PF_PORT_R: "0000:49:00.0" - TEST_PORT_P: "0000:49:01.2" - TEST_PORT_R: "0000:49:01.3" - TEST_DMA_PORT_P: 0000:80:04.0 - TEST_DMA_PORT_R: 0000:80:04.1 + BUILD_TYPE: 'Release' + DPDK_VERSION: '23.11' + # Bellow ENV variables are required to be defined on runner side: + # TEST_PF_PORT_P: '0000:49:00.0' + # TEST_PF_PORT_R: '0000:49:00.1' + # TEST_PORT_P: '0000:49:01.2' + # TEST_PORT_R: '0000:49:01.3' + # TEST_DMA_PORT_P: '0000:6a:01.0' + # TEST_DMA_PORT_R: '0000:6f:01.0' permissions: contents: read @@ -47,7 +55,7 @@ jobs: gtest-build-mtl: needs: gtest-check-for-changes - if: ${{ github.repository == 'OpenVisualCloud/Media-Transport-Library' && needs.gtest-check-for-changes.outputs.changed == 'true' }} + if: github.repository == 'OpenVisualCloud/Media-Transport-Library' && (needs.gtest-check-for-changes.outputs.changed == 'true' || github.event_name == 'workflow_dispatch') runs-on: [Linux, self-hosted, DPDK] timeout-minutes: 60 @@ -59,13 +67,15 @@ jobs: - name: Checkout MTL uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + ref: '${{ inputs.branch-to-checkout || github.head_ref || github.ref }}' - name: Checkout DPDK uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: 'DPDK/dpdk' - ref: v${{ env.DPDK_VERSION }} - path: dpdk + ref: 'v${{ env.DPDK_VERSION }}' + path: 'dpdk' - name: Install the build dependency run: | @@ -91,7 +101,7 @@ jobs: gtest-perform-tests: needs: [gtest-check-for-changes, gtest-build-mtl] - if: ${{ github.repository == 'OpenVisualCloud/Media-Transport-Library' && needs.gtest-check-for-changes.outputs.changed == 'true' }} + if: github.repository == 'OpenVisualCloud/Media-Transport-Library' && (needs.gtest-check-for-changes.outputs.changed == 'true' || github.event_name == 'workflow_dispatch') runs-on: [Linux, self-hosted, DPDK] steps: - name: Harden Runner @@ -108,9 +118,9 @@ jobs: - name: Binding network adapter run: | - sudo ./script/nicctl.sh create_vf ${{ env.TEST_PF_PORT_P }} || true - sudo ./dpdk/usertools/dpdk-devbind.py -b vfio-pci ${{ env.TEST_DMA_PORT_P }} || true - sudo ./dpdk/usertools/dpdk-devbind.py -b vfio-pci ${{ env.TEST_DMA_PORT_R }} || true + sudo ./script/nicctl.sh create_vf "${TEST_PF_PORT_P}" || true + sudo ./dpdk/usertools/dpdk-devbind.py -b vfio-pci "${TEST_DMA_PORT_P}" || true + sudo ./dpdk/usertools/dpdk-devbind.py -b vfio-pci "${TEST_DMA_PORT_R}" || true - name: Start MtlManager at background run: | @@ -118,19 +128,19 @@ jobs: - name: Run ufd test case run: | - sudo ./build/tests/KahawaiUfdTest --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} + sudo ./build/tests/KahawaiUfdTest --p_port "${TEST_PORT_P}" --r_port "${TEST_PORT_R}" - name: Run shared ufd test case run: | - sudo ./build/tests/KahawaiUfdTest --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} --queue_mode shared + sudo ./build/tests/KahawaiUfdTest --p_port "${TEST_PORT_P}" --r_port "${TEST_PORT_R}" --queue_mode shared - name: Run shared ufd test case with lcore run: | - sudo ./build/tests/KahawaiUfdTest --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} --queue_mode shared --udp_lcore + sudo ./build/tests/KahawaiUfdTest --p_port "${TEST_PORT_P}" --r_port "${TEST_PORT_R}" --queue_mode shared --udp_lcore - name: Run ufd test case with rss run: | - sudo ./build/tests/KahawaiUfdTest --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} --rss_mode l3_l4 + sudo ./build/tests/KahawaiUfdTest --p_port "${TEST_PORT_P}" --r_port "${TEST_PORT_R}" --rss_mode l3_l4 - name: Run udp ld preload test case run: | @@ -138,11 +148,11 @@ jobs: - name: Run st2110 test case run: | - sudo ./build/tests/KahawaiTest --auto_start_stop --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} --dma_dev ${{ env.TEST_DMA_PORT_P }},${{ env.TEST_DMA_PORT_R }} --gtest_filter=-St22_?x.* + sudo ./build/tests/KahawaiTest --auto_start_stop --p_port "${TEST_PORT_P}" --r_port "${TEST_PORT_R}" --dma_dev "${TEST_DMA_PORT_P},${TEST_DMA_PORT_R}" --gtest_filter=-St22_?x.* - name: Run st2110 st20p test case in simulation ENA environment run: | - sudo ./build/tests/KahawaiTest --auto_start_stop --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} --rss_mode l3_l4 --pacing_way tsc --iova_mode pa --multi_src_port --gtest_filter=Main.*:St20p*:-*ext* + sudo ./build/tests/KahawaiTest --auto_start_stop --p_port "${TEST_PORT_P}" --r_port "${TEST_PORT_R}" --rss_mode l3_l4 --pacing_way tsc --iova_mode pa --multi_src_port --gtest_filter=Main.*:St20p*:-*ext* - name: Run st2110 st20p test case with kernel loopback run: |