Asynchronous SIP client authentication #3256
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: CI Windows | |
| on: | |
| push: | |
| branches: | |
| - 'master' | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| env: | |
| CI_WIN_ARGS: -w 3 --shuffle | |
| CI_MODE: --ci-mode | |
| # Setting CI_RUNNER to empty should disable cirunner | |
| CI_RUNNER: python ${{ github.workspace }}/cirunner/cirunner.py -t 3600 -o ${{ github.workspace }}/artifacts -- | |
| jobs: | |
| default: | |
| runs-on: windows-latest | |
| name: Default / build only | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get swig | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/swigwin-4.1.1.zip" -OutFile ".\swigwin.zip" | |
| shell: powershell | |
| - name: expand swig | |
| run: | | |
| Expand-Archive -LiteralPath .\swigwin.zip -DestinationPath .\swigwin\; pwd | |
| cd swigwin\swigwin-4.1.1 | |
| Add-Content ..\..\swig_path.txt $pwd.Path | |
| shell: powershell | |
| - name: config site | |
| run: | | |
| echo #define PJ_TODO(x) > pjlib\include\pj\config_site.h | |
| shell: cmd | |
| - name: MSBuild | |
| run: | | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Debug /p:Platform=win32 | |
| shell: cmd | |
| - name: build swig | |
| run: | | |
| set /P SWIG_PATH=<swig_path.txt | |
| set PATH=%PATH%;%SWIG_PATH% | |
| dir pjlib/include/pj/config_site.h | |
| type pjlib/include/pj/config_site.h | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%JAVA_HOME%\include;%JAVA_HOME%\include\win32 | |
| cd pjsip-apps/build | |
| msbuild swig_java_pjsua2.vcxproj /p:PlatformToolset=v143 /p:Configuration=Debug-Dynamic /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| openssl-1: | |
| runs-on: windows-latest | |
| name: OpenSSL / pjlib,util,pjmedia | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get openssl | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/openssl-1.1.1s-win.zip" -OutFile ".\openssl.zip" | |
| shell: powershell | |
| - name: expand openssl | |
| run: | | |
| Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .; | |
| cd openssl_build | |
| Add-Content ..\openssl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check openssl folder | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| dir %OPENSSL_DIR%\include | |
| dir %OPENSSL_DIR%\lib | |
| shell: cmd | |
| - name: config site | |
| run: | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h; Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: pjlib-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjlib/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjlib-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS $env:CI_MODE" | |
| shell: powershell | |
| - name: pjlib-util-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjlib-util/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjlib-util-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: pjmedia-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjmedia/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjmedia-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| openssl-2: | |
| runs-on: windows-latest | |
| name: OpenSSL / pjsip,pjsua | |
| env: | |
| PYTHONUTF8: 1 # This forces Python to use UTF-8 | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get openssl | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/openssl-1.1.1s-win.zip" -OutFile ".\openssl.zip" | |
| shell: powershell | |
| - name: expand openssl | |
| run: | | |
| Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .; pwd | |
| cd openssl_build | |
| Add-Content ..\openssl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check openssl folder | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| dir "%OPENSSL_DIR%\include" | |
| dir "%OPENSSL_DIR%\lib" | |
| shell: cmd | |
| - name: install SIPp | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/sipp-3.2-win.zip" -OutFile ".\sipp.zip" | |
| Expand-Archive -LiteralPath .\sipp.zip -DestinationPath . | |
| cd sipp | |
| Add-Content ..\sipp_dir.txt $pwd.Path | |
| cd .. | |
| shell: powershell | |
| - name: config site | |
| run: | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h; Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: build test tools cmp_wav | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| cd tests/pjsua/tools | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| msbuild cmp_wav.vcxproj /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: get test tool visqol | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/visqol_win.zip" -OutFile ".\visqol_win.zip" | |
| Expand-Archive -LiteralPath .\visqol_win.zip -DestinationPath tests\pjsua\tools | |
| shell: powershell | |
| - name: set up Python 3.10 for pjsua test | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install PESQ and Dependencies | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install numpy cython | |
| python -m pip install pesq scipy | |
| shell: cmd | |
| - name: pjsip-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjsip/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjsip-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: python pjsua tests | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:SIPP_DIR = Get-Content .\sipp_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| $env:PATH+=";$env:SIPP_DIR" | |
| cd tests/pjsua | |
| echo python runall.py | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| openssl-3: | |
| runs-on: windows-latest | |
| name: OpenSSL / pjnath | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get openssl | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/openssl-1.1.1s-win.zip" -OutFile ".\openssl.zip" | |
| shell: powershell | |
| - name: expand openssl | |
| run: | | |
| Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .; | |
| cd openssl_build | |
| Add-Content ..\openssl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check openssl folder | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| dir %OPENSSL_DIR%\include | |
| dir %OPENSSL_DIR%\lib | |
| shell: cmd | |
| - name: config site | |
| run: | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h; Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: pjnath-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjnath/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjnath-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| gnu-tls: | |
| runs-on: windows-latest | |
| name: GnuTLS / build only | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get gnutls | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/gnutls-3.5.17-win.zip" -Outfile ".\gnutls.zip" | |
| shell: powershell | |
| - name: expand gnutls | |
| run: | | |
| Expand-Archive -LiteralPath .\gnutls.zip -DestinationPath .; pwd | |
| cd gnutls_build | |
| Add-Content ..\gnutls_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check gnutls folder | |
| run: | | |
| set /P GNUTLS_DIR=<gnutls_dir.txt | |
| dir "%GNUTLS_DIR%\include" | |
| dir "%GNUTLS_DIR%\lib\" | |
| shell: cmd | |
| - name: config site | |
| run: | | |
| echo '#define PJ_TODO(x)' > pjlib/include/pj/config_site.h | |
| Add-Content pjlib/include/pj/config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| Add-Content pjlib/include/pj/config_site.h "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_GNUTLS" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P GNUTLS_DIR=<gnutls_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%GNUTLS_DIR%\include | |
| set LIB=%LIB%;%GNUTLS_DIR%\lib | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| vid-libvpx-schannel-1: | |
| runs-on: windows-latest | |
| name: VPX+SChannel / pjlib,util,pjmedia,pjnath | |
| env: | |
| PYTHONUTF8: 1 # This forces Python to use UTF-8 | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get vpx | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/vpx-1.12-win.zip" -Outfile "vpx.zip" | |
| shell: powershell | |
| - name: expand libvpx | |
| run: | | |
| Expand-Archive -LiteralPath .\vpx.zip -DestinationPath .; pwd | |
| cd vpx_build | |
| Add-Content ..\vpx_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check vpx folder | |
| run: | | |
| set /P VPX_DIR=<vpx_dir.txt | |
| dir "%VPX_DIR%\include" | |
| dir "%VPX_DIR%\lib" | |
| shell: cmd | |
| - name: get sdl | |
| run: Invoke-WebRequest -Uri "https://github.com/libsdl-org/SDL/releases/download/release-2.26.2/SDL2-devel-2.26.2-VC.zip" -Outfile ".\sdl.zip" | |
| shell: powershell | |
| - name: expand sdl | |
| run: | | |
| Expand-Archive -LiteralPath .\sdl.zip -DestinationPath .\sdl_build\; pwd | |
| cd sdl_build\SDL2-2.26.2 | |
| Add-Content ..\..\sdl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check sdl folder | |
| run: | | |
| set /P SDL_DIR=<sdl_dir.txt | |
| dir "%SDL_DIR%\include" | |
| dir "%SDL_DIR%\lib\x86" | |
| shell: cmd | |
| - name: config site | |
| run: | | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h | |
| Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| Add-Content config_site.h "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_SCHANNEL" | |
| Add-Content config_site.h "#undef PJMEDIA_SRTP_HAS_DTLS" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_VIDEO 1" | |
| Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_LIBYUV 1" | |
| Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_VPX_CODEC 1" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| set /P VPX_DIR=<vpx_dir.txt | |
| set /P SDL_DIR=<sdl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%VPX_DIR%\include;%SDL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib;%VPX_DIR%\lib;%SDL_DIR%\lib\x86 | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: build test tools cmp_wav | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| set /P VPX_DIR=<vpx_dir.txt | |
| set /P SDL_DIR=<sdl_dir.txt | |
| cd tests/pjsua/tools | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%VPX_DIR%\include;%SDL_DIR%\include | |
| set LIB=%LIB%;%VPX_DIR%\lib;%SDL_DIR%\lib\x86 | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| msbuild cmp_wav.vcxproj /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: get test tool visqol | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/visqol_win.zip" -OutFile ".\visqol_win.zip" | |
| Expand-Archive -LiteralPath .\visqol_win.zip -DestinationPath tests\pjsua\tools | |
| shell: powershell | |
| - name: pjlib-test | |
| run: | | |
| $env:SDL_DIR = Get-Content .\sdl_dir.txt | |
| $env:PATH+=";$env:SDL_DIR\lib\x86;" | |
| cd pjlib/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjlib-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS $env:CI_MODE" | |
| shell: powershell | |
| - name: pjlib-util-test | |
| run: | | |
| $env:SDL_DIR = Get-Content .\sdl_dir.txt | |
| $env:PATH+=";$env:SDL_DIR\lib\x86;" | |
| cd pjlib-util/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjlib-util-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: pjmedia-test | |
| run: | | |
| $env:SDL_DIR = Get-Content .\sdl_dir.txt | |
| $env:PATH+=";$env:SDL_DIR\lib\x86;" | |
| cd pjmedia/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjmedia-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: pjnath-test | |
| run: | | |
| $env:SDL_DIR = Get-Content .\sdl_dir.txt | |
| $env:PATH+=";$env:SDL_DIR\lib\x86;" | |
| cd pjnath/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjnath-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS $env:CI_MODE" | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| vid-libvpx-schannel-2: | |
| runs-on: windows-latest | |
| name: VPX+SChannel / pjsua | |
| env: | |
| PYTHONUTF8: 1 # This forces Python to use UTF-8 | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get vpx | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/vpx-1.12-win.zip" -Outfile "vpx.zip" | |
| shell: powershell | |
| - name: expand libvpx | |
| run: | | |
| Expand-Archive -LiteralPath .\vpx.zip -DestinationPath .; pwd | |
| cd vpx_build | |
| Add-Content ..\vpx_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check vpx folder | |
| run: | | |
| set /P VPX_DIR=<vpx_dir.txt | |
| dir "%VPX_DIR%\include" | |
| dir "%VPX_DIR%\lib" | |
| shell: cmd | |
| - name: get sdl | |
| run: Invoke-WebRequest -Uri "https://github.com/libsdl-org/SDL/releases/download/release-2.26.2/SDL2-devel-2.26.2-VC.zip" -Outfile ".\sdl.zip" | |
| shell: powershell | |
| - name: expand sdl | |
| run: | | |
| Expand-Archive -LiteralPath .\sdl.zip -DestinationPath .\sdl_build\; pwd | |
| cd sdl_build\SDL2-2.26.2 | |
| Add-Content ..\..\sdl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check sdl folder | |
| run: | | |
| set /P SDL_DIR=<sdl_dir.txt | |
| dir "%SDL_DIR%\include" | |
| dir "%SDL_DIR%\lib\x86" | |
| shell: cmd | |
| - name: install SIPp | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/sipp-3.2-win.zip" -OutFile ".\sipp.zip" | |
| Expand-Archive -LiteralPath .\sipp.zip -DestinationPath . | |
| cd sipp | |
| Add-Content ..\sipp_dir.txt $pwd.Path | |
| cd .. | |
| shell: powershell | |
| - name: config site | |
| run: | | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h | |
| Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| Add-Content config_site.h "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_SCHANNEL" | |
| Add-Content config_site.h "#undef PJMEDIA_SRTP_HAS_DTLS" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_VIDEO 1" | |
| Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_LIBYUV 1" | |
| Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_VPX_CODEC 1" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| set /P VPX_DIR=<vpx_dir.txt | |
| set /P SDL_DIR=<sdl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%VPX_DIR%\include;%SDL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib;%VPX_DIR%\lib;%SDL_DIR%\lib\x86 | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: build test tools cmp_wav | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| set /P VPX_DIR=<vpx_dir.txt | |
| set /P SDL_DIR=<sdl_dir.txt | |
| cd tests/pjsua/tools | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%VPX_DIR%\include;%SDL_DIR%\include | |
| set LIB=%LIB%;%VPX_DIR%\lib;%SDL_DIR%\lib\x86 | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| msbuild cmp_wav.vcxproj /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: get test tool visqol | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/visqol_win.zip" -OutFile ".\visqol_win.zip" | |
| Expand-Archive -LiteralPath .\visqol_win.zip -DestinationPath tests\pjsua\tools | |
| shell: powershell | |
| - name: set up Python 3.10 for pjsua test | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install PESQ and Dependencies | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install numpy cython | |
| python -m pip install pesq scipy | |
| shell: cmd | |
| - name: python pjsua tests | |
| run: | | |
| $env:SDL_DIR = Get-Content .\sdl_dir.txt | |
| $env:SIPP_DIR = Get-Content .\sipp_dir.txt | |
| $env:PATH+=";$env:SDL_DIR\lib\x86;" | |
| $env:PATH+=";$env:SIPP_DIR" | |
| cd tests/pjsua | |
| echo python runall.py | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| vid-libvpx-schannel-3: | |
| runs-on: windows-latest | |
| name: VPX+SChannel / pjsip | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: get vpx | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/vpx-1.12-win.zip" -Outfile "vpx.zip" | |
| shell: powershell | |
| - name: expand libvpx | |
| run: | | |
| Expand-Archive -LiteralPath .\vpx.zip -DestinationPath .; pwd | |
| cd vpx_build | |
| Add-Content ..\vpx_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check vpx folder | |
| run: | | |
| set /P VPX_DIR=<vpx_dir.txt | |
| dir "%VPX_DIR%\include" | |
| dir "%VPX_DIR%\lib" | |
| shell: cmd | |
| - name: get sdl | |
| run: Invoke-WebRequest -Uri "https://github.com/libsdl-org/SDL/releases/download/release-2.26.2/SDL2-devel-2.26.2-VC.zip" -Outfile ".\sdl.zip" | |
| shell: powershell | |
| - name: expand sdl | |
| run: | | |
| Expand-Archive -LiteralPath .\sdl.zip -DestinationPath .\sdl_build\; pwd | |
| cd sdl_build\SDL2-2.26.2 | |
| Add-Content ..\..\sdl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check sdl folder | |
| run: | | |
| set /P SDL_DIR=<sdl_dir.txt | |
| dir "%SDL_DIR%\include" | |
| dir "%SDL_DIR%\lib\x86" | |
| shell: cmd | |
| - name: config site | |
| run: | | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h | |
| Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| Add-Content config_site.h "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_SCHANNEL" | |
| Add-Content config_site.h "#undef PJMEDIA_SRTP_HAS_DTLS" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_VIDEO 1" | |
| Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_LIBYUV 1" | |
| Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1" | |
| Add-Content config_site.h "#define PJMEDIA_HAS_VPX_CODEC 1" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| set /P VPX_DIR=<vpx_dir.txt | |
| set /P SDL_DIR=<sdl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%VPX_DIR%\include;%SDL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib;%VPX_DIR%\lib;%SDL_DIR%\lib\x86 | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: pjsip-test | |
| run: | | |
| $env:SDL_DIR = Get-Content .\sdl_dir.txt | |
| $env:PATH+=";$env:SDL_DIR\lib\x86;" | |
| cd pjsip/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjsip-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS" | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| # Temporarily disabled due to ffmpeg library build issues | |
| # build-win-vid-ffmpeg: | |
| # runs-on: windows-latest | |
| # name: FFMPEG / build only | |
| # steps: | |
| # - uses: actions/checkout@master | |
| # - name: Install Windows Debugging Tools | |
| # run: | | |
| # choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| # shell: powershell | |
| # - name: install cirunner | |
| # run: | | |
| # git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| # cirunner/installwindows.ps1 | |
| # - name: get ffmpeg | |
| # run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/ffmpeg-5.1.2-win.zip" -Outfile "ffmpeg.zip" | |
| # shell: powershell | |
| # - name: expand ffmpeg | |
| # run: | | |
| # Expand-Archive -LiteralPath .\ffmpeg.zip -DestinationPath .; pwd | |
| # cd ffmpeg_build | |
| # Add-Content ..\ffmpeg_dir.txt $pwd.Path | |
| # shell: powershell | |
| # - name: check ffmpeg folder | |
| # run: | | |
| # set /P FFMPEG_DIR=<ffmpeg_dir.txt | |
| # dir "%FFMPEG_DIR%\include" | |
| # dir "%FFMPEG_DIR%\lib" | |
| # shell: cmd | |
| # - name: get sdl | |
| # run: Invoke-WebRequest -Uri "https://github.com/libsdl-org/SDL/releases/download/release-2.26.2/SDL2-devel-2.26.2-VC.zip" -Outfile ".\sdl.zip" | |
| # shell: powershell | |
| # - name: expand sdl | |
| # run: | | |
| # Expand-Archive -LiteralPath .\sdl.zip -DestinationPath .\sdl_build\; pwd | |
| # cd sdl_build\SDL2-2.26.2 | |
| # Add-Content ..\..\sdl_dir.txt $pwd.Path | |
| # shell: powershell | |
| # - name: check sdl folder | |
| # run: | | |
| # set /P SDL_DIR=<sdl_dir.txt | |
| # dir "%SDL_DIR%\include\SDL" | |
| # dir "%SDL_DIR%\lib\x86" | |
| # shell: cmd | |
| # - name: config site | |
| # run: | | |
| # echo '#define PJ_TODO(x)' > pjlib/include/pj/config_site.h | |
| # Add-Content pjlib/include/pj/config_site.h "#define PJMEDIA_HAS_VIDEO 1" | |
| # Add-Content pjlib/include/pj/config_site.h "#define PJMEDIA_HAS_FFMPEG 1" | |
| # Add-Content pjlib/include/pj/config_site.h "#define PJMEDIA_HAS_FFMPEG_VID_CODEC 1" | |
| # Add-Content pjlib/include/pj/config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 1" | |
| # Add-Content pjlib/include/pj/config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1" | |
| # shell: powershell | |
| # - name: check VsDevCmd.bat | |
| # run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| # shell: cmd | |
| # - name: MSBuild | |
| # working-directory: . | |
| # run: | | |
| # set /P FFMPEG_DIR=<ffmpeg_dir.txt | |
| # set /P SDL_DIR=<sdl_dir.txt | |
| # call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| # set INCLUDE=%INCLUDE%;%FFMPEG_DIR%\include;%SDL_DIR%\include | |
| # set LIB=%LIB%;%FFMPEG_DIR%\lib;%SDL_DIR%\lib\x86 | |
| # msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| # shell: cmd | |
| # - name: upload artifacts on failure | |
| # if: ${{ failure() }} | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| # path: artifacts | |
| iocp: | |
| runs-on: windows-latest | |
| name: IOCP / pjlib | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: config site | |
| run: | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h; Add-Content config_site.h "#define PJ_IOQUEUE_IMP PJ_IOQUEUE_IMP_IOCP" | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: verify ioqueue type is iocp | |
| run: | | |
| cd pjlib/bin | |
| pjlib-test-i386-Win32-vc14-Release.exe -c -L | findstr /C:"ioqueue type" | findstr iocp | |
| shell: cmd | |
| - name: pjlib-test | |
| run: | | |
| cd pjlib/bin | |
| $args = $env:CI_WIN_ARGS -split ' ' | |
| ./pjlib-test-i386-Win32-vc14-Release.exe $args $env:CI_MODE | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts | |
| iocp-cb-no-lock: | |
| runs-on: windows-latest | |
| name: iocp-cb-no-lock / pjlib,pjsua | |
| env: | |
| PYTHONUTF8: 1 # This forces Python to use UTF-8 | |
| steps: | |
| - uses: actions/checkout@master | |
| - name: Install Windows Debugging Tools | |
| run: | | |
| choco install windows-sdk-10-version-2004-windbg --yes --no-progress | |
| shell: powershell | |
| - name: install cirunner | |
| run: | | |
| git clone --depth 1 https://github.com/pjsip/cirunner.git | |
| cirunner/installwindows.ps1 | |
| - name: config site | |
| run: | | |
| cd pjlib/include/pj; cp config_site_test.h config_site.h | |
| Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1" | |
| Add-Content config_site.h "#define PJ_IOQUEUE_CALLBACK_NO_LOCK 1" | |
| Add-Content config_site.h "#define PJ_IOQUEUE_IMP PJ_IOQUEUE_IMP_IOCP" | |
| shell: powershell | |
| - name: get openssl | |
| run: Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/openssl-1.1.1s-win.zip" -OutFile ".\openssl.zip" | |
| shell: powershell | |
| - name: expand openssl | |
| run: | | |
| Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .; pwd | |
| cd openssl_build | |
| Add-Content ..\openssl_dir.txt $pwd.Path | |
| shell: powershell | |
| - name: check openssl folder | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| dir "%OPENSSL_DIR%\include" | |
| dir "%OPENSSL_DIR%\lib" | |
| shell: cmd | |
| - name: install SIPp | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/sipp-3.2-win.zip" -OutFile ".\sipp.zip" | |
| Expand-Archive -LiteralPath .\sipp.zip -DestinationPath . | |
| cd sipp | |
| Add-Content ..\sipp_dir.txt $pwd.Path | |
| cd .. | |
| shell: powershell | |
| - name: check VsDevCmd.bat | |
| run: dir "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| shell: cmd | |
| - name: MSBuild | |
| working-directory: . | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib | |
| msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: pjlib-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjlib/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjlib-test-i386-Win32-vc14-Release.exe $env:CI_MODE $env:CI_WIN_ARGS udp_ioqueue_test tcp_ioqueue_test ioqueue_stress_test udp_ioqueue_unreg_test ioqueue_perf_test0 ioqueue_perf_test1 activesock_test ssl_sock_test iocp_unregister_test" | |
| shell: powershell | |
| - name: pjsip-test | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| cd pjsip/bin | |
| Invoke-Expression "$env:CI_RUNNER ./pjsip-test-i386-Win32-vc14-Release.exe $env:CI_WIN_ARGS resolve_test inv_offer_answer_test transport_udp_test transport_tcp_test regc_test tsx_destroy_test" | |
| shell: powershell | |
| - name: build test tools cmp_wav | |
| run: | | |
| set /P OPENSSL_DIR=<openssl_dir.txt | |
| cd tests/pjsua/tools | |
| set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include | |
| set LIB=%LIB%;%OPENSSL_DIR%\lib | |
| call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" | |
| msbuild cmp_wav.vcxproj /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true | |
| shell: cmd | |
| - name: get test tool visqol | |
| run: | | |
| Invoke-WebRequest -Uri "https://github.com/pjsip/third_party_libs/raw/main/visqol_win.zip" -OutFile ".\visqol_win.zip" | |
| Expand-Archive -LiteralPath .\visqol_win.zip -DestinationPath tests\pjsua\tools | |
| shell: powershell | |
| - name: set up Python 3.10 for pjsua test | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install PESQ and Dependencies | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install numpy cython | |
| python -m pip install pesq scipy | |
| shell: cmd | |
| - name: python pjsua tests | |
| run: | | |
| $env:OPENSSL_DIR = Get-Content .\openssl_dir.txt | |
| $env:SIPP_DIR = Get-Content .\sipp_dir.txt | |
| $env:PATH+=";$env:OPENSSL_DIR\bin" | |
| $env:PATH+=";$env:SIPP_DIR" | |
| cd tests/pjsua | |
| echo python runall.py | |
| shell: powershell | |
| - name: upload artifacts on failure | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ github.run_id }} | |
| path: artifacts |