-
Notifications
You must be signed in to change notification settings - Fork 1
111 lines (98 loc) · 2.83 KB
/
ci.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---
name: CI workflow
"on": [push]
env:
CFLAGS: -fdiagnostics-color
jobs:
run-tests:
strategy:
matrix:
include:
- compiler: gcc
docs: true
sound: enabled
vapi: enabled
- compiler: gcc
docs: false
sound: disabled
vapi: disabled
- compiler: clang
docs: false
sound: enabled
vapi: disabled
runs-on: ubuntu-20.04
steps:
- name: install-deps
uses: awalsh128/[email protected]
with:
packages: |
bison
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-good
gstreamer1.0-tools
gtk-doc-tools
libgirepository1.0-dev
libgstreamer1.0-dev
libgtk-3-dev
meson
texinfo
valac
- uses: actions/checkout@v2
- name: configure
run: |
CC=${{ matrix.compiler }} meson _build -Dgtk_doc=${{ matrix.docs }} \
-Dsound=${{ matrix.sound }} -Dvapi=${{ matrix.vapi }}
- name: build
run: ninja -C _build
- name: build-docs
if: matrix.docs
run: ninja -C _build chimara-doc
- name: test
run: xvfb-run -a meson test -C _build
- name: print-test-log
if: ${{ failure() }}
run: cat _build/meson-logs/testlog.txt
sanitizer:
runs-on: ubuntu-20.04
steps:
- name: install-deps
run: |
sudo apt-get update
sudo apt-get -y install \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-good \
gstreamer1.0-tools \
libgstreamer1.0-dev \
libgtk-3-0 \
libgtk-3-dev \
libxml2-utils \
meson \
ubuntu-dbgsym-keyring
- name: install-debug-symbols
run: |
sudo tee -a "/etc/apt/sources.list.d/ddebs.list" <<EOF
deb http://ddebs.ubuntu.com focal main universe
deb http://ddebs.ubuntu.com focal-updates main universe
EOF
sudo apt-get update
sudo apt-get install libgtk-3-0-dbgsym
- uses: actions/checkout@v2
- name: configure
run: |
meson _build \
-Db_sanitize=address,undefined \
-Dintrospection=false \
-Dbocfel=false \
-Dfrotz=false \
-Dnitfol=false \
-Dplayer=false
- name: build
run: ASAN_OPTIONS=start_deactivated=true,detect_leaks=0 ninja -C _build
- name: test
run: |
ASAN_OPTIONS=fast_unwind_on_malloc=0 \
LSAN_OPTIONS=suppressions=$(pwd)/tests/lsan.supp \
xvfb-run -a meson test -C _build
- name: print-test-log
if: ${{ failure() }}
run: cat _build/meson-logs/testlog.txt