Skip to content

Add PROCESS_EXIT trigger and plumbing, to notify external program f… #55

Add PROCESS_EXIT trigger and plumbing, to notify external program f…

Add PROCESS_EXIT trigger and plumbing, to notify external program f… #55

Workflow file for this run

name: CI
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
test:
name: Test & Coverage
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
python3-pip \
ninja-build \
libmbedtls-dev \
gcovr \
libavcodec-dev \
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libswscale-dev \
libswresample-dev \
libsrtp2-dev \
libusrsctp-dev \
libsrt-openssl-dev
pip3 install meson>=1.3.0
- name: Build with coverage
run: |
meson setup build \
-Db_coverage=true \
-DWITH_AV=true \
-DDEBUG=4
ninja -C build
- name: Run tests
run: meson test -C build --print-errorlogs --verbose
continue-on-error: true
- name: Generate coverage
run: ninja -C build coverage
continue-on-error: true
- name: Upload to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: build/meson-logs/coverage.xml
flags: cpp
fail_ci_if_error: false
asan:
name: AddressSanitizer
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
python3-pip \
ninja-build \
libmbedtls-dev \
clang \
libavcodec-dev \
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libswscale-dev \
libswresample-dev \
libsrtp2-dev \
libusrsctp-dev \
libsrt-openssl-dev
pip3 install meson>=1.3.0
- name: Build with ASan
run: |
CC=clang CXX=clang++ meson setup build-asan \
-Db_sanitize=address \
-Db_lundef=false \
-DWITH_AV=true
ninja -C build-asan
- name: Run tests with ASan
run: |
export ASAN_OPTIONS=detect_leaks=1:halt_on_error=1:strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1
meson test -C build-asan --print-errorlogs --timeout-multiplier 3
continue-on-error: true
- name: Upload ASan logs
if: always()
uses: actions/upload-artifact@v7
with:
name: asan-logs
path: build-asan/meson-logs/testlog.txt
if-no-files-found: ignore