Skip to content

CI

CI #248

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
merge_group:
types: [checks_requested]
env:
CARGO_TERM_COLOR: always
jobs:
Build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
rust: [nightly]
target: ["default"]
steps:
- uses: actions/checkout@v2
- name: Install deps on linux
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo bash -c 'apt-add-repository -y https://mirrors.kernel.org/ubuntu'
sudo apt update
sudo apt install -y \
gstreamer1.0-libav \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-ugly \
gstreamer1.0-tools \
libasound2-plugins \
libfaad2 \
libffi7 \
libfftw3-single3 \
libges-1.0-dev \
libgstreamer-plugins-bad1.0-dev\
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev \
libgstrtspserver-1.0-dev \
libjack-jackd2-0 \
libmms0 \
libmpg123-0 \
libopus0 \
liborc-0.4-0 \
liborc-0.4-dev \
libpulsedsp \
libsamplerate0 \
libspeexdsp1 \
libtdb1 \
libtheora0 \
libtwolame0 \
libwayland-egl1-mesa \
libwebrtc-audio-processing1 \
pulseaudio \
pulseaudio-utils \
webp
- name: Start virtual audio device
if: startsWith(matrix.os, 'ubuntu')
run: |
jackd -d dummy &
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
default: true
- name: Pre-build
run: |
pulseaudio --start
gst-inspect-1.0 | grep Total
- name: Build
run: cargo build
- name: Examples
run: |
ls examples/*.rs | xargs -I{} basename {} .rs | grep -v params_connect | RUST_BACKTRACE=1 GST_DEBUG=3 xargs -I{} cargo ex {} --all-features
build_result:
name: Result
runs-on: ubuntu-latest
if: always()
needs: ["Build"]
steps:
- name: Success
run: exit 0
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
- name: Failure
run: exit 1
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')