initial commit
This commit is contained in:
commit
636959b37b
2474 files changed
+1343178
No files matched your search
+703
@@ -0,0 +1,703 @@
|
||||
name: C/C++ CI
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
build-ubuntu-default:
|
||||
# checking pure lib source distribution with plain configure & make
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
|
||||
build-ubuntu-default-full-bundle-1:
|
||||
# full bundle: enable all codecs + AEC + DTLS
|
||||
# full bundle 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig sip-tester libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -fPIC" CXXFLAGS="-g -fPIC" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjlib-util-test pjmedia-test pjsua-test
|
||||
|
||||
build-ubuntu-default-full-bundle-2:
|
||||
# full bundle 2: running pjnath test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-ubuntu-default-full-bundle-3:
|
||||
# full bundle 3: running pjsip test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
build-ubuntu-no-tls:
|
||||
# no TLS
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --disable-ssl
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
# build-ubuntu-openssl
|
||||
# TLS: with OpenSSL (same as build-ubuntu-default)
|
||||
|
||||
build-ubuntu-gnu-tls:
|
||||
# TLS: with GnuTLS
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y --fix-missing swig libgnutls28-dev
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --with-gnutls=/usr/
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-ubuntu-video-openh264-1:
|
||||
# video: video enabled with vpx and openh264
|
||||
# video 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig nasm sip-tester libvpx-dev libopencore-amrnb-dev
|
||||
- name: get openh264
|
||||
run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git
|
||||
- name: build openh264
|
||||
run: cd openh264 && make && sudo make install && sudo ldconfig
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -fPIC -DHAS_VID_CODEC_TEST=0" CXXFLAGS="-g -fPIC" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjlib-util-test pjmedia-test pjsua-test
|
||||
|
||||
build-ubuntu-video-openh264-2:
|
||||
# video 2: running pjnath test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y nasm libvpx-dev libopencore-amrnb-dev
|
||||
- name: get openh264
|
||||
run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git
|
||||
- name: build openh264
|
||||
run: cd openh264 && make && sudo make install && sudo ldconfig
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-ubuntu-video-openh264-3:
|
||||
# video: 3: running pjsip test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y nasm libvpx-dev libopencore-amrnb-dev
|
||||
- name: get openh264
|
||||
run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git
|
||||
- name: build openh264
|
||||
run: cd openh264 && make && sudo make install && sudo ldconfig
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
build-ubuntu-video-ffmpeg:
|
||||
# video enabled with vpx and ffmpeg and x264
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig nasm libx264-dev libvpx-dev
|
||||
- name: get ffmpeg
|
||||
run: git clone --single-branch --branch release/4.2 https://github.com/FFmpeg/FFmpeg.git
|
||||
- name: configure ffmpeg
|
||||
run: cd FFmpeg && ./configure --enable-shared --disable-static --enable-gpl --enable-libx264
|
||||
- name: build ffmpeg
|
||||
run: cd FFmpeg && make -j10 && sudo make install
|
||||
- name: config site
|
||||
run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n" > pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-default:
|
||||
# checking pure lib source distribution with plain configure & make
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
|
||||
build-mac-default-full-bundle-1:
|
||||
# full bundle: enable all codecs + AEC + DTLS
|
||||
# full bundle 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install opencore-amr swig sipp
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-g -fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjmedia-test pjlib-util-test pjsua-test
|
||||
|
||||
build-mac-default-full-bundle-2:
|
||||
# full bundle 2: running pjnath test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-mac-default-full-bundle-3:
|
||||
# full bundle 3: running pjsip test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
# build-ubuntu-no-tls:
|
||||
# no TLS (same as build-mac-default)
|
||||
|
||||
build-mac-openssl:
|
||||
# TLS: with OpenSSL
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install swig
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-gnu-tls:
|
||||
# TLS: with GnuTLS
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install swig
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --with-gnutls=/usr/local/
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-video-openh264-1:
|
||||
# video: video enabled with vpx and openh264
|
||||
# video 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openh264 libvpx opencore-amr swig sipp
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include -DHAS_VID_CODEC_TEST=0 -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-g -fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjmedia-test pjlib-util-test pjsua-test
|
||||
|
||||
build-mac-video-openh264-2:
|
||||
# video 2: running pjnath test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openh264 libvpx opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-mac-video-openh264-3:
|
||||
# video 3: running pjsip test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openh264 libvpx opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
build-mac-video-ffmpeg:
|
||||
# video enabled with vpx and ffmpeg and x264
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install x264 libvpx nasm swig
|
||||
- name: get ffmpeg
|
||||
run: git clone --single-branch --branch release/4.2 https://github.com/FFmpeg/FFmpeg.git
|
||||
- name: configure ffmpeg
|
||||
run: cd FFmpeg && ./configure --enable-shared --disable-static --enable-gpl --enable-libx264
|
||||
- name: build ffmpeg
|
||||
run: cd FFmpeg && make -j10 && sudo make install
|
||||
- name: config site
|
||||
run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n" > pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-video-vid-toolbox:
|
||||
# video enabled with vpx and video toolbox
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install libvpx swig
|
||||
- name: config site
|
||||
run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n#define PJMEDIA_HAS_VID_TOOLBOX_CODEC 1\n" > pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-windows-default:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get swig
|
||||
run: Invoke-WebRequest -Uri "https://nchc.dl.sourceforge.net/project/swig/swigwin/swigwin-4.0.1/swigwin-4.0.1.zip" -OutFile ".\swigwin.zip"
|
||||
shell: powershell
|
||||
- name: expand swig
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\swigwin.zip -DestinationPath .\swigwin\; pwd
|
||||
cd swigwin\swigwin-4.0.1
|
||||
Add-Content ..\..\swig_path.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: config site
|
||||
run:
|
||||
type nul > pjlib/include/pj/config_site.h
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
run: |
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /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(x86)%\Microsoft Visual Studio\2019\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=v142 /p:Configuration=Debug /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
|
||||
build-windows-with-openssl-unit-test-1:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get openssl
|
||||
run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip" -OutFile ".\openssl.zip"
|
||||
shell: powershell
|
||||
- name: expand openssl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\;
|
||||
cd openssl_build\openssl-1.1\x86
|
||||
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(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include
|
||||
set LIB=%LIB%;%OPENSSL_DIR%\lib
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
- name: unit tests
|
||||
run: |
|
||||
$env:OPENSSL_DIR = Get-Content .\openssl_dir.txt
|
||||
$env:PATH+=";$env:OPENSSL_DIR\bin"
|
||||
cd pjlib/bin; ./pjlib-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjlib-util/bin; ./pjlib-util-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjmedia/bin/; ./pjmedia-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-with-openssl-unit-test-2:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get openssl
|
||||
run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip" -OutFile ".\openssl.zip"
|
||||
shell: powershell
|
||||
- name: expand openssl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\; pwd
|
||||
cd openssl_build\openssl-1.1\x86
|
||||
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(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include
|
||||
set LIB=%LIB%;%OPENSSL_DIR%\lib
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
- name: unit tests
|
||||
run: |
|
||||
$env:OPENSSL_DIR = Get-Content .\openssl_dir.txt
|
||||
$env:PATH+=";$env:OPENSSL_DIR\bin"
|
||||
cd pjsip/bin; ./pjsip-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-gnu-tls:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get gnutls
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/gnutls/releases/download/gnutls_3_6_11/libgnutls_gnutls_3_6_11_msvc14.zip" -Outfile ".\libgnutls.zip"
|
||||
shell: powershell
|
||||
- name: expand gnutls
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libgnutls.zip -DestinationPath .\libgnutls_build\; pwd
|
||||
cd libgnutls_build
|
||||
Add-Content ..\libgnutls_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check gnutls folder
|
||||
run: |
|
||||
set /P LIBGNUTLS_DIR=<libgnutls_dir.txt
|
||||
dir "%LIBGNUTLS_DIR%\include"
|
||||
dir "%LIBGNUTLS_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run: |
|
||||
echo "" > pjlib\include\pj\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_GNUTLS"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P LIBGNUTLS_DIR=<gnutls_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%LIBGNUTLS_DIR%\include
|
||||
set LIB=%LIB%;%LIBGNUTLS_DIR%\lib\x86
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
|
||||
build-windows-with-video-libvpx-unit-test-1:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get openssl
|
||||
run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip" -OutFile ".\openssl.zip"
|
||||
shell: powershell
|
||||
- name: expand openssl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\; pwd
|
||||
cd openssl_build\openssl-1.1\x86
|
||||
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: get libvpx
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/libvpx/releases/download/v1.8.2/libvpx_v1.8.2_msvc14.zip" -Outfile "libvpx.zip"
|
||||
shell: powershell
|
||||
- name: expand libvpx
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libvpx.zip -DestinationPath .\libvpx_build\; pwd
|
||||
cd libvpx_build
|
||||
Add-Content ..\libvpx_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libvpx folder
|
||||
run: |
|
||||
set /P LIBVPX_DIR=<libvpx_dir.txt
|
||||
dir "%LIBVPX_DIR%\include"
|
||||
dir "%LIBVPX_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: get libsdl
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/SDL/releases/download/release-2.0.9/libsdl_release-2.0.9_msvc14.zip" -Outfile ".\libsdl.zip"
|
||||
shell: powershell
|
||||
- name: expand libsdl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libsdl.zip -DestinationPath .\libsdl_build\; pwd
|
||||
cd libsdl_build
|
||||
Add-Content ..\libsdl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libsdl folder
|
||||
run: |
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
dir "%LIBSDL_DIR%\include\SDL"
|
||||
dir "%LIBSDL_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 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(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
set /P LIBVPX_DIR=<libvpx_dir.txt
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%LIBVPX_DIR%\include;%LIBSDL_DIR%\include\SDL
|
||||
set LIB=%LIB%;%OPENSSL_DIR%\lib;%LIBVPX_DIR%\lib\x86;%LIBSDL_DIR%\lib\x86
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
- name: unit tests
|
||||
run: |
|
||||
$env:OPENSSL_DIR = Get-Content .\openssl_dir.txt
|
||||
$env:LIBVPX_DIR = Get-Content .\libvpx_dir.txt
|
||||
$env:LIBSDL_DIR = Get-Content .\libsdl_dir.txt
|
||||
$env:PATH+=";$env:OPENSSL_DIR\bin;$env:LIBVPX_DIR\bin\x86;$env:LIBSDL_DIR\bin\x86;"
|
||||
cd pjlib/bin; ./pjlib-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjlib-util/bin; ./pjlib-util-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjmedia/bin/; ./pjmedia-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-video-ffmpeg:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get ffmpeg
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/FFmpeg/releases/download/4.3.r96746/libffmpeg_4.3.r96746_msvc14_x86.zip" -Outfile "libffmpeg.zip"
|
||||
shell: powershell
|
||||
- name: expand ffmpeg
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libffmpeg.zip -DestinationPath .\libffmpeg_build\; pwd
|
||||
cd libffmpeg_build
|
||||
Add-Content ..\libffmpeg_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check ffmpeg folder
|
||||
run: |
|
||||
set /P LIBFFMPEG_DIR=<libffmpeg_dir.txt
|
||||
dir "%LIBFFMPEG_DIR%\include"
|
||||
dir "%LIBFFMPEG_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: get libx264
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/x264/releases/download/0.159.r2991/libx264_0.159.r2991_msvc14.zip" -Outfile ".\libx264.zip"
|
||||
shell: powershell
|
||||
- name: expand libx264
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libx264.zip -DestinationPath .\libx264_build\; pwd
|
||||
cd libx264_build
|
||||
Add-Content ..\libx264_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libx264 folder
|
||||
run: |
|
||||
set /P LIBX264_DIR=<libx264_dir.txt
|
||||
dir "%LIBX264_DIR%\include"
|
||||
dir "%LIBX264_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: get libsdl
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/SDL/releases/download/release-2.0.9/libsdl_release-2.0.9_msvc14.zip" -Outfile ".\libsdl.zip"
|
||||
shell: powershell
|
||||
- name: expand libsdl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libsdl.zip -DestinationPath .\libsdl_build\; pwd
|
||||
cd libsdl_build
|
||||
Add-Content ..\libsdl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libsdl folder
|
||||
run: |
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
dir "%LIBSDL_DIR%\include\SDL"
|
||||
dir "%LIBSDL_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run: |
|
||||
echo "" > pjlib\include\pj\config_site.h
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_VIDEO 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_FFMPEG 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_FFMPEG_VID_CODEC 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P LIBFFMPEG_DIR=<libffmpeg_dir.txt
|
||||
set /P LIBX264_DIR=<libx264_dir.txt
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%LIBFFMPEG_DIR%\include;%LIBX264_DIR%\include;%LIBSDL_DIR%\include\SDL
|
||||
set LIB=%LIB%;%LIBFFMPEG_DIR%\lib\x86;%LIBX264_DIR%\lib\x86;%LIBSDL_DIR%\lib\x86
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
@@ -0,0 +1,66 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '0 22 * * 2'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['cpp', 'python']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
# - name: Autobuild
|
||||
# uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
- run: |
|
||||
./configure --disable-libyuv --disable-libwebrtc --disable-speex-codec --disable-speex-aec
|
||||
make
|
||||
mv tests/pjsua/inc_cfg.py tests/pjsua/inc_cfg.txt
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
Reference in new issue
Block a user