-
Notifications
You must be signed in to change notification settings - Fork 4
69 lines (53 loc) · 1.81 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
on:
workflow_dispatch:
inputs:
debug:
type: boolean
description: Enable Debugging
push:
branches: ["**"]
paths-ignore:
- "**/*.md"
pull_request:
branches: ["**"]
name: Test
jobs:
test:
strategy:
fail-fast: false
matrix:
config: ["Release", "Debug"]
container: ["archlinux", "fedora:40"]
runs-on: ubuntu-latest
container: ${{ matrix.container }}
name: 🧪 Test on ${{ matrix.container }} (⚙️ ${{ matrix.config }})
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: 🧰 Install Dependencies
if: ${{ matrix.container == 'archlinux' }}
run: pacman --noconfirm -Syu base-devel cmake gcc git make pipewire pipewire-pulse tmate openssh dbus xorg-server-xvfb
- name: 🧰 Install Dependencies
if: ${{ matrix.container == 'fedora:40' }}
run: dnf install -y pipewire-devel make automake git gcc gcc-c++ kernel-devel cmake libasan tmate dbus-daemon xorg-x11-server-Xvfb
- name: 🐛 Debug Workflow
if: ${{ github.event.inputs.debug == 'true' }}
uses: mxschmitt/action-tmate@v3
with:
install-dependencies: false
limit-access-to-actor: true
- name: 🔨 Compile
run: |
cmake -B build -Drohrkabel_examples=ON -Drohrkabel_sanitizer=ON
cmake --build build --config ${{ matrix.config }}
- name: 🎧 Setup PipeWire / 🔬 Run Examples
run: |
export XDG_RUNTIME_DIR=/tmp
export PIPEWIRE_RUNTIME_DIR=/tmp
export PULSE_RUNTIME_DIR=/tmp
export DISPLAY=:0.0
mkdir -p /run/dbus
dbus-daemon --system --fork
Xvfb -screen $DISPLAY 1920x1080x24 &
pipewire &
./build/examples/roundtrip/roundtrip-example