Separate CI per platform (#3339)
This commit is contained in:
parent
4e75f68520
commit
662965f2f7
|
@ -0,0 +1,187 @@
|
|||
name: CI Linux
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
|
@ -0,0 +1,203 @@
|
|||
name: CI Mac
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
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
|
||||
|
||||
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 openssl@1.1 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@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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
|
||||
|
||||
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 openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
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 openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 swig
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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
|
||||
|
||||
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 openssl@1.1 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@1.1/include -DHAS_VID_CODEC_TEST=0 -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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
|
||||
|
||||
mac-video-openh264-2:
|
||||
# video 2: running pjnath test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
mac-video-openh264-3:
|
||||
# video 3: running pjsip test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
|
@ -1,392 +1,6 @@
|
|||
name: C/C++ CI
|
||||
name: CI Windows
|
||||
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 openssl@1.1 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@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 swig
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include -DHAS_VID_CODEC_TEST=0 -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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 openssl@1.1 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@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/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:
|
||||
|
@ -421,7 +35,7 @@ jobs:
|
|||
msbuild swig_java_pjsua2.vcxproj /p:PlatformToolset=v143 /p:Configuration=Debug /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
|
||||
build-windows-with-openssl-unit-test-1:
|
||||
windows-with-openssl-unit-test-1:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
|
@ -465,7 +79,7 @@ jobs:
|
|||
cd ../../pjmedia/bin/; ./pjmedia-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-with-openssl-unit-test-2:
|
||||
windows-with-openssl-unit-test-2:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
|
@ -559,7 +173,7 @@ jobs:
|
|||
msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
|
||||
build-windows-with-video-libvpx-unit-test-1:
|
||||
windows-with-video-libvpx-unit-test-1:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
|
@ -68,6 +68,10 @@ tests/pjsua/wavs/tmp*.wav
|
|||
tests/pjsua/tools/cmp_wav
|
||||
tests/pjsua/tools/cmp_wav.dSYM
|
||||
tests/pjsua/logs
|
||||
tests/fuzz/*
|
||||
!tests/fuzz/**/
|
||||
!tests/fuzz/*.*
|
||||
tests/fuzz/*.o
|
||||
# benchmark output
|
||||
*bench*.htm
|
||||
|
||||
|
|
2
Makefile
2
Makefile
|
@ -119,7 +119,7 @@ pjsip-test: pjsip/bin/pjsip-test-$(TARGET_NAME)
|
|||
cd pjsip/build && ../bin/pjsip-test-$(TARGET_NAME)
|
||||
|
||||
pjsua-test: cmp_wav
|
||||
cd tests/pjsua && python runall.py
|
||||
cd tests/pjsua && python runall.py -t 2
|
||||
|
||||
cmp_wav:
|
||||
cd tests/pjsua/tools && make
|
||||
|
|
|
@ -84,6 +84,7 @@ for f in os.listdir("scripts-sipp"):
|
|||
|
||||
|
||||
resume_script=""
|
||||
retry_num=0
|
||||
shell_cmd=""
|
||||
with_log=True
|
||||
|
||||
|
@ -104,6 +105,9 @@ while len(sys.argv):
|
|||
print " If this argument is omited, tests will start from the beginning."
|
||||
print " --disable,-d TEST_NAME"
|
||||
print " Disable a specific test that contains the specified TEST_NAME."
|
||||
print " --retry,-t RETRY_NUM"
|
||||
print " Retry a specific test RETRY_NUM times before marking it as failed."
|
||||
print " Default is 0 (no retry)."
|
||||
print " --shell,-s SHELL"
|
||||
print " Run the tests with the specified SHELL cmd. This can also be"
|
||||
print " used to run the test with ccdash. Example:"
|
||||
|
@ -123,6 +127,15 @@ while len(sys.argv):
|
|||
sys.argv.pop(0)
|
||||
sys.stderr.write("Error: argument value required")
|
||||
sys.exit(1)
|
||||
elif sys.argv[0] == '-t' or sys.argv[0] == '--retry':
|
||||
if len(sys.argv) > 1:
|
||||
retry_num=int(sys.argv[1])
|
||||
sys.argv.pop(0)
|
||||
sys.argv.pop(0)
|
||||
else:
|
||||
sys.argv.pop(0)
|
||||
sys.stderr.write("Error: argument value required")
|
||||
sys.exit(1)
|
||||
elif sys.argv[0] == '--list':
|
||||
sys.argv.pop(0)
|
||||
for t in tests:
|
||||
|
@ -157,7 +170,7 @@ while len(sys.argv):
|
|||
else:
|
||||
sys.argv.pop(0)
|
||||
sys.stderr.write("Error: argument value required")
|
||||
sys.exit(1)
|
||||
sys.exit(1)
|
||||
elif sys.argv[0] == '--no-log':
|
||||
sys.argv.pop(0)
|
||||
with_log=False
|
||||
|
@ -188,31 +201,35 @@ for t in tests:
|
|||
cmdline = "python run.py " + argv_st + t
|
||||
if shell_cmd:
|
||||
cmdline = "%s '%s'" % (shell_cmd, cmdline)
|
||||
t0 = time.time()
|
||||
msg = "Running %3d/%d: %s..." % (tests_cnt+1, total_cnt, cmdline)
|
||||
sys.stdout.write(msg)
|
||||
sys.stdout.flush()
|
||||
if with_log:
|
||||
logname = re.search(".*\s+(.*)", t).group(1)
|
||||
logname = re.sub("[\\\/]", "_", logname)
|
||||
logname = re.sub("\.py$", ".log", logname)
|
||||
logname = re.sub("\.xml$", ".log", logname)
|
||||
logname = "logs/" + logname
|
||||
else:
|
||||
logname = os.devnull
|
||||
ret = os.system(cmdline + " > " + logname)
|
||||
t1 = time.time()
|
||||
if ret != 0:
|
||||
dur = int(t1 - t0)
|
||||
print " failed!! [" + str(dur) + "s]"
|
||||
for i in range(1, retry_num+2):
|
||||
t0 = time.time()
|
||||
msg = "Running %3d/%d (#%d): %s..." % (tests_cnt+1, total_cnt, i, cmdline)
|
||||
sys.stdout.write(msg)
|
||||
sys.stdout.flush()
|
||||
if with_log:
|
||||
lines = open(logname, "r").readlines()
|
||||
print ''.join(lines)
|
||||
print "Log file: '" + logname + "'."
|
||||
fails_cnt += 1
|
||||
else:
|
||||
dur = int(t1 - t0)
|
||||
print " ok [" + str(dur) + "s]"
|
||||
logname = re.search(".*\s+(.*)", t).group(1)
|
||||
logname = re.sub("[\\\/]", "_", logname)
|
||||
logname = re.sub("\.py$", ".log", logname)
|
||||
logname = re.sub("\.xml$", ".log", logname)
|
||||
logname = "logs/" + logname
|
||||
else:
|
||||
logname = os.devnull
|
||||
ret = os.system(cmdline + " > " + logname)
|
||||
t1 = time.time()
|
||||
if ret != 0:
|
||||
dur = int(t1 - t0)
|
||||
print " failed!! [" + str(dur) + "s]"
|
||||
if (i < retry_num + 1):
|
||||
continue
|
||||
if with_log:
|
||||
lines = open(logname, "r").readlines()
|
||||
print ''.join(lines)
|
||||
print "Log file: '" + logname + "'."
|
||||
fails_cnt += 1
|
||||
else:
|
||||
dur = int(t1 - t0)
|
||||
print " ok [" + str(dur) + "s]"
|
||||
break
|
||||
tests_cnt += 1
|
||||
|
||||
if fails_cnt == 0:
|
||||
|
|
Loading…
Reference in New Issue