Add more CI tests on Ubuntu and Mac (#2329)
This commit is contained in:
parent
68e5350335
commit
98f70c210f
|
@ -1,28 +1,370 @@
|
|||
name: C/C++ CI
|
||||
|
||||
on: [push]
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
build-ubuntu-default:
|
||||
# checking pure lib source distribution with plain configure & make
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: |
|
||||
sudo apt-get install -y sip-tester
|
||||
sudo apt-get install -y libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: |
|
||||
echo "#define PJMEDIA_SRTP_HAS_DTLS 1" > pjlib/include/pj/config_site.h
|
||||
echo "#define PJMEDIA_HAS_G722_CODEC 1" >> pjlib/include/pj/config_site.h
|
||||
echo "#define PJMEDIA_HAS_G7221_CODEC 1" >> pjlib/include/pj/config_site.h
|
||||
echo "#define PJ_EXCLUDE_BENCHMARK_TESTS 1" >> pjlib/include/pj/config_site.h
|
||||
echo "#define PJ_CLI_MAX_CHOICE_VAL 64" >> pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit test
|
||||
run: make selftest
|
||||
|
||||
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="-fPIC" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- 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: ./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: ./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="-fPIC -DHAS_VID_CODEC_TEST=0" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- 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: ./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: ./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
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h 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
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- 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="-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="-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: 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: 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 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="-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="-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: 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="-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="-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
|
||||
- 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
|
||||
- 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
|
||||
|
|
|
@ -352,10 +352,10 @@
|
|||
|
||||
/**
|
||||
* Maximum number of argument values of choice type.
|
||||
* Default: 16
|
||||
* Default: 64
|
||||
*/
|
||||
#ifndef PJ_CLI_MAX_CHOICE_VAL
|
||||
# define PJ_CLI_MAX_CHOICE_VAL 16
|
||||
# define PJ_CLI_MAX_CHOICE_VAL 64
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#define PJMEDIA_SRTP_HAS_DTLS 1
|
||||
#define PJMEDIA_HAS_WEBRTC_AEC 1
|
||||
#define PJMEDIA_CODEC_L16_HAS_8KHZ_MONO 1
|
||||
#define PJMEDIA_CODEC_L16_HAS_8KHZ_STEREO 1
|
||||
#define PJMEDIA_CODEC_L16_HAS_16KHZ_MONO 1
|
||||
#define PJMEDIA_CODEC_L16_HAS_16KHZ_STEREO 1
|
||||
#define PJMEDIA_CODEC_L16_HAS_48KHZ_MONO 1
|
||||
#define PJMEDIA_CODEC_L16_HAS_48KHZ_STEREO 1
|
||||
#define PJMEDIA_HAS_G7221_CODEC 1
|
||||
#define PJMEDIA_HAS_G722_CODEC 1
|
||||
#define PJ_EXCLUDE_BENCHMARK_TESTS 1
|
|
@ -25,7 +25,9 @@
|
|||
|
||||
#define HAS_VID_DEV_TEST PJMEDIA_HAS_VIDEO
|
||||
#define HAS_VID_PORT_TEST PJMEDIA_HAS_VIDEO
|
||||
#define HAS_VID_CODEC_TEST PJMEDIA_HAS_VIDEO
|
||||
#ifndef HAS_VID_CODEC_TEST
|
||||
#define HAS_VID_CODEC_TEST PJMEDIA_HAS_VIDEO
|
||||
#endif
|
||||
#define HAS_SDP_NEG_TEST 1
|
||||
#define HAS_JBUF_TEST 1
|
||||
#define HAS_MIPS_TEST 1
|
||||
|
|
Loading…
Reference in New Issue