CI: change sleep_test() and timestamp_test() to exclusive on Windows … #1826
This file contains 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 Ubuntu | |
on: | |
push: | |
branches: | |
- 'master' | |
pull_request: | |
types: [opened, synchronize, reopened] | |
env: | |
CI_ARGS: ${{ vars.CI_UBUNTU_ARGS }} | |
CI_MODE: ${{ vars.CI_MODE }} | |
MAKE_FAST: make -j 3 | |
jobs: | |
default-build: | |
# checking pure lib source distribution with plain configure & make | |
runs-on: ubuntu-latest | |
name: Default / build only | |
steps: | |
- uses: actions/checkout@v2 | |
- name: configure | |
run: ./configure | |
- name: make | |
run: $MAKE_FAST | |
- name: get SSL info | |
run: pjlib/bin/pjlib-test-`make infotarget` --config --list | grep SSL | |
- name: verify oepnssl is used | |
run: pjlib/bin/pjlib-test-`make infotarget` --config --list | grep -E 'PJ_SSL_SOCK_IMP\s+:\s+1' | |
default-full-bundle-1: | |
# full bundle: enable all codecs + AEC + DTLS | |
runs-on: ubuntu-latest | |
name: Default / pjmedia,pjsua | |
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_FAST | |
- name: swig bindings | |
run: cd pjsip-apps/src/swig && make | |
- name: set up Python 3.10 for pjsua test | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- name: capture pjsua capabilities | |
run: | | |
cat << EOF | pjsip-apps/bin/pjsua-`make infotarget` --log-level 3 > pjsua-caps | |
Cp | |
xx | |
vid dev list | |
vid codec list | |
q | |
EOF | |
cat pjsua-caps | |
- name: ensure AMR codec is installed | |
run: cat pjsua-caps | grep -E 'AMR/8000' | |
- name: pjmedia-test | |
run: make pjmedia-test | |
- name: pjsua-test | |
run: make pjsua-test | |
default-full-bundle-2: | |
runs-on: ubuntu-latest | |
name: Default / pjlib,util,pjnath | |
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_FAST | |
- name: pjlib-test | |
run: make pjlib-test | |
- name: pjlib-util-test | |
run: make pjlib-util-test | |
- name: pjnath-test | |
run: make pjnath-test | |
default-full-bundle-3: | |
runs-on: ubuntu-latest | |
name: Default / pjsip | |
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_FAST | |
- name: pjsip-test | |
run: make pjsip-test | |
no-tls: | |
runs-on: ubuntu-latest | |
name: No SSL / pjlib,pjsip | |
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_FAST | |
- name: swig bindings | |
run: cd pjsip-apps/src/swig && make | |
- name: pjlib-test | |
run: make pjlib-test | |
- name: pjsip-test | |
run: make pjsip-test | |
# build-ubuntu-openssl | |
# TLS: with OpenSSL (same as build-ubuntu-default) | |
gnu-tls: | |
runs-on: ubuntu-latest | |
name: GnuTLS / pjlib,pjnath,pjsip | |
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_FAST | |
- name: swig bindings | |
run: cd pjsip-apps/src/swig && make | |
- name: get SSL info | |
run: pjlib/bin/pjlib-test-`make infotarget` --config --list | grep SSL | |
- name: verify gnu tls is used | |
run: pjlib/bin/pjlib-test-`make infotarget` --config --list | grep -E 'PJ_SSL_SOCK_IMP\s+:\s+2' | |
- name: pjlib-test | |
run: make pjlib-test | |
- name: pjnath-test | |
run: make pjnath-test | |
- name: pjsip-test | |
run: make pjsip-test | |
vid-openh264-1: | |
runs-on: ubuntu-latest | |
name: OpenH264+VPX / pjmedia,pjsua | |
steps: | |
- uses: actions/checkout@v2 | |
- name: install dependencies | |
run: sudo apt-get install -y swig nasm sip-tester libvpx-dev libopencore-amrnb-dev libsdl2-dev | |
- name: get openh264 | |
run: git clone --depth 1 --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git | |
- name: build openh264 | |
run: cd openh264 && $MAKE_FAST && 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_FAST | |
- name: swig bindings | |
run: cd pjsip-apps/src/swig && make | |
- name: set up Python 3.10 for pjsua test | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: capture pjsua capabilities | |
run: | | |
cat << EOF | pjsip-apps/bin/pjsua-`make infotarget` --log-level 3 > pjsua-caps | |
Cp | |
xx | |
vid dev list | |
vid codec list | |
q | |
EOF | |
cat pjsua-caps | |
- name: ensure AMR codec is installed | |
run: cat pjsua-caps | grep -E 'AMR/8000' | |
- name: ensure H264 codec is installed | |
run: cat pjsua-caps | grep -E 'H264/' | |
- name: ensure VP8 codec is installed | |
run: cat pjsua-caps | grep -E 'VP8/' | |
# SDL error: no available vid dev | |
#- name: ensure SDL is installed | |
# run: cat pjsua-caps | grep -E '\[SDL\]\[render\]' | |
- name: pjmedia-test | |
run: make pjmedia-test | |
- name: pjsua-test | |
run: make pjsua-test | |
vid-openh264-2: | |
runs-on: ubuntu-latest | |
name: OpenH264+VPX / pjlib,util,pjnath | |
steps: | |
- uses: actions/checkout@v2 | |
- name: install dependencies | |
run: sudo apt-get install -y nasm libvpx-dev libopencore-amrnb-dev libsdl2-dev | |
- name: get openh264 | |
run: git clone --depth 1 --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git | |
- name: build openh264 | |
run: cd openh264 && $MAKE_FAST && 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_FAST | |
- name: pjlib-test | |
run: make pjlib-test | |
- name: pjlib-util-test | |
run: make pjlib-util-test | |
- name: pjnath-test | |
run: make pjnath-test | |
vid-openh264-3: | |
runs-on: ubuntu-latest | |
name: OpenH264+VPX / pjsip | |
steps: | |
- uses: actions/checkout@v2 | |
- name: install dependencies | |
run: sudo apt-get install -y nasm libvpx-dev libopencore-amrnb-dev libsdl2-dev | |
- name: get openh264 | |
run: git clone --depth 1 --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git | |
- name: build openh264 | |
run: cd openh264 && $MAKE_FAST && 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_FAST | |
- name: pjsip-test | |
run: make pjsip-test | |
vid-ffmpeg: | |
runs-on: ubuntu-latest | |
name: FFMPEG+x264 / pjmedia | |
steps: | |
- uses: actions/checkout@v2 | |
- name: install dependencies | |
run: sudo apt-get install -y swig nasm libx264-dev libvpx-dev libsdl2-dev | |
- name: get ffmpeg | |
run: git clone --depth 1 --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_FAST && 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_FAST | |
- name: swig bindings | |
run: cd pjsip-apps/src/swig && make | |
- name: capture pjsua capabilities | |
run: | | |
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH | |
cat << EOF | pjsip-apps/bin/pjsua-`make infotarget` --log-level 3 > pjsua-caps | |
Cp | |
xx | |
vid dev list | |
vid codec list | |
q | |
EOF | |
cat pjsua-caps | |
- name: ensure H264 codec is installed | |
run: cat pjsua-caps | grep -E 'H264/' | |
- name: ensure VP8 codec is installed | |
run: cat pjsua-caps | grep -E 'VP8/' | |
# SDL error: no available vid dev | |
#- name: ensure SDL is installed | |
# run: cat pjsua-caps | grep -E '\[SDL\]\[render\]' | |
- name: pjmedia-test | |
run: export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH && make pjmedia-test |