Skip to content

rtcp: set nack max fcis to 256 (#670) #699

rtcp: set nack max fcis to 256 (#670)

rtcp: set nack max fcis to 256 (#670) #699

name: win_gtest
on:
# allow manually trigger
workflow_dispatch:
push:
branches:
- main
- 'maint-**'
pull_request:
branches:
- main
- 'maint-**'
concurrency:
group: win-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# Customize the env if
BUILD_TYPE: Release
DPDK_VERSION: 23.11
TEST_PORT_P: 0000:af:00.0
TEST_PORT_R: 0000:af:00.1
MSYSTEM: UCRT64
permissions:
contents: read
jobs:
changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
changed: ${{ steps.filter.outputs.windows_gtest == 'true' }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2
id: filter
with:
filters: .github/path_filters.yml
Build_and_Test:
needs: changes
if: ${{ github.repository == 'OpenVisualCloud/Media-Transport-Library' && needs.changes.outputs.changed == 'true' }}
runs-on: [Windows, self-hosted]
timeout-minutes: 60
defaults:
run:
shell: C:\msys64\msys2.cmd {0}
steps:
- name: Harden Runner
uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
with:
egress-policy: audit
- name: Update dependencies
run: |
pacman --noconfirm -Syuu
pacman --noconfirm -S --needed --overwrite git base-devel unzip pactoys
pacboy --noconfirm -S --needed pkgconf:p openssl:p gcc:p meson:p json-c:p libpcap:p gtest:p SDL2:p SDL2_ttf:p dlfcn:p
- name: Checkout IMTL code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Convert patches for DPDK
run: |
cd patches/dpdk/${{ env.DPDK_VERSION }}
ls *.patch | xargs -I{} bash -c 'if [[ $(sed -n '1p' "{}") =~ ^../.*\.patch$ ]]; then cp "$(cat "{}")" "{}"; fi'
cd windows
ls *.patch | xargs -I{} bash -c 'if [[ $(sed -n '1p' "{}") =~ ^../.*\.patch$ ]]; then cp "$(cat "{}")" "{}"; fi'
- name: Checkout DPDK code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
repository: 'DPDK/dpdk'
ref: v${{ env.DPDK_VERSION }}
path: dpdk
clean: true
- name: Apply patches for DPDK
run: |
cd dpdk
git config user.name github-actions
git config user.email [email protected]
for f in ../patches/dpdk/${{ env.DPDK_VERSION }}/*.patch; do patch -p1 < "$f"; done
for f in ../patches/dpdk/${{ env.DPDK_VERSION }}/windows/*.patch; do patch -p1 < "$f"; done
- name: Build and install DPDK
run: |
cd dpdk
meson setup build --wipe
meson install -C build
- name: Build IMTL lib
run: |
meson setup build --wipe
meson install -C build
- name: Build gtest
run: |
cd tests
meson setup build --wipe
meson compile -C build
- name: Kill previous gtest routine
shell: cmd
run: |
taskkill /f /im KahawaiTest.exe || VER>NUL
- name: Run st2110 test cases except st22
run: |
./tests/build/KahawaiTest --auto_start_stop --p_port ${{ env.TEST_PORT_P }} --r_port ${{ env.TEST_PORT_R }} --gtest_filter=-St22*