-
Notifications
You must be signed in to change notification settings - Fork 1
118 lines (105 loc) · 3.15 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
112
113
114
115
116
117
118
---
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
run: |
sudo apt-get update
sudo apt-get -y install \
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-22.04
steps:
- name: install-deps
# gtk downgrade is because there is no matching version in ddebs repo
# for the latest
run: |
sudo apt-get update
sudo apt-get -y --allow-downgrades install \
gir1.2-gtk-3.0=3.24.33-1ubuntu1 \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-good \
gstreamer1.0-tools \
libc6-dbg \
libgstreamer1.0-dev \
libgtk-3-0=3.24.33-1ubuntu1 \
libgtk-3-dev=3.24.33-1ubuntu1 \
libunwind-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 jammy main restricted universe multiverse
deb http://ddebs.ubuntu.com jammy-updates main restricted universe multiverse
EOF
sudo apt-get update
sudo apt-get -y install libglib2.0-0-dbgsym libgtk-3-0-dbgsym
- uses: actions/checkout@v3
- name: configure
run: |
meson _build \
-Db_sanitize=address \
-Dintrospection=false \
-Dbocfel=false \
-Dfrotz=false \
-Dgit=false \
-Dnitfol=false \
-Dplayer=false
- name: build
run: ASAN_OPTIONS=detect_leaks=0 ninja -C _build
- name: test
run: |
G_DEBUG=gc-friendly \
G_SLICE=always-malloc \
ASAN_OPTIONS=fast_unwind_on_malloc=0 \
xvfb-run -a meson test -C _build
- name: print-test-log
if: ${{ failure() }}
run: cat _build/meson-logs/testlog.txt