diff --git a/.github/workflows/mediasoup-worker-fuzzer.yaml b/.github/workflows/mediasoup-worker-fuzzer.yaml new file mode 100644 index 0000000000..5f4e5d953e --- /dev/null +++ b/.github/workflows/mediasoup-worker-fuzzer.yaml @@ -0,0 +1,40 @@ +name: mediasoup-worker-fuzzer + +on: [pull_request, workflow_dispatch] + +concurrency: + # Cancel a currently running workflow from the same PR, branch or tag when a + # new workflow is triggered. + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + ci: + strategy: + matrix: + build: + - os: ubuntu-22.04 + cc: clang + cxx: clang++ + + runs-on: ${{ matrix.build.os }} + + env: + CC: ${{ matrix.build.cc }} + CXX: ${{ matrix.build.cxx }} + MEDIASOUP_SKIP_WORKER_PREBUILT_DOWNLOAD: 'true' + MEDIASOUP_LOCAL_DEV: 'true' + + steps: + - name: Checkout + uses: actions/checkout@v4 + + # We need to install pip invoke manually. + - name: pip3 install invoke + run: pip3 install invoke + + # Build the mediasoup-worker-fuzzer binary (which uses libFuzzer). + - name: invoke -r worker fuzzer + run: invoke -r worker fuzzer + + # We don't run mediasoup-worker-fuzzer (maybe in the future).