@@ -24,19 +24,21 @@ jobs:
2424 steps :
2525 - name : Add debug repositories
2626 run : |
27- printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[community -debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
27+ printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[multilib -debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
2828 printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
2929 - name : Install dependencies
30- run : pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack jq ladspa libglvnd libsndfile libx11 libxrandr lv2 lv2lint php valgrind
30+ run : pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack jq libglvnd libsndfile libx11 libxrandr lv2lint php valgrind
3131 - uses : actions/checkout@v3
3232 - name : Configure project
33- run : make config VERBOSE=1 FEATURES='doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
33+ run : make config STRICT=1 VERBOSE=1 FEATURES='clap doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
3434 - name : Fetch project dependencies
3535 run : make fetch
3636 - name : Build project
3737 run : make VERBOSE=1
3838 - name : Install binaries
3939 run : make install
40+ - name : System information
41+ run : lscpu
4042 - name : Lint LV2 plugins
4143 run : |
4244 for _plugin in $(jq -r '.plugins[].lv2_uri | select( . != null )' ${{ env.PLUGIN_METADATA }} ); do \
@@ -60,26 +62,69 @@ jobs:
6062 valgrind ${{ env.VALGRIND_ARGS }} /usr/lib/carla/carla-bridge-native vst2 "${_binary}" "" 1>/dev/null; \
6163 done
6264
63- arch_linux_debug :
65+ arch_linux_asan :
6466 runs-on : ubuntu-latest
6567 container :
6668 image : archlinux:latest
6769 steps :
6870 - name : Add debug repositories
6971 run : |
70- printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[community -debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
72+ printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[multilib -debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
7173 printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
7274 - name : Install dependencies
73- run : pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack jq ladspa libglvnd libsndfile libx11 libxrandr lv2 php valgrind
75+ run : pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack jq libglvnd libsndfile libx11 libxrandr php valgrind
7476 - uses : actions/checkout@v3
7577 - name : Configure project
76- run : make config DEBUG=1 VERBOSE=1 FEATURES='jack ladspa lv2 vst2' PREFIX=/usr
78+ run : make config STRICT=1 DEBUG=1 VERBOSE=1 ASAN=1 FEATURES='clap jack ladspa lv2 vst2' PREFIX=/usr
7779 - name : Fetch project dependencies
7880 run : make fetch
7981 - name : Build project
8082 run : make VERBOSE=1
8183 - name : Install binaries
8284 run : make install
85+ - name : System information
86+ run : lscpu
87+ - name : LADSPA runtime checks
88+ run : |
89+ for _plugin in $(jq -r '.plugins[].ladspa_label | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
90+ export ASAN_OPTIONS=verify_asan_link_order=0; \
91+ /usr/lib/carla/carla-bridge-native ladspa /usr/lib/ladspa/lsp-*.so "${_plugin}" 1>/dev/null; \
92+ done
93+ - name : LV2 runtime checks
94+ run : |
95+ for _plugin in $(jq -r '.plugins[].lv2_uri | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
96+ export ASAN_OPTIONS=verify_asan_link_order=0; \
97+ /usr/lib/carla/carla-bridge-native lv2 "" "${_plugin}" 1>/dev/null; \
98+ done
99+ - name : VST2 runtime checks
100+ run : |
101+ for _binary in $(ls /usr/lib/vst/lsp-plugins/*.so | grep -v /lsp-plugins-); do \
102+ export ASAN_OPTIONS=verify_asan_link_order=0; \
103+ /usr/lib/carla/carla-bridge-native vst2 "${_binary}" "" 1>/dev/null; \
104+ done
105+
106+ arch_linux_valgrind :
107+ runs-on : ubuntu-latest
108+ container :
109+ image : archlinux:latest
110+ steps :
111+ - name : Add debug repositories
112+ run : |
113+ printf "[core-debug]\nInclude = /etc/pacman.d/mirrorlist\n[extra-debug]\nInclude = /etc/pacman.d/mirrorlist\n[multilib-debug]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
114+ printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
115+ - name : Install dependencies
116+ run : pacman --noconfirm -Syu alsa-lib base-devel cairo carla git glibc-debug hicolor-icon-theme jack jq libglvnd libsndfile libx11 libxrandr php valgrind
117+ - uses : actions/checkout@v3
118+ - name : Configure project
119+ run : make config STRICT=1 DEBUG=1 VERBOSE=1 FEATURES='clap jack ladspa lv2 vst2' PREFIX=/usr
120+ - name : Fetch project dependencies
121+ run : make fetch
122+ - name : Build project
123+ run : make VERBOSE=1
124+ - name : Install binaries
125+ run : make install
126+ - name : System information
127+ run : lscpu
83128 - name : LADSPA runtime checks
84129 run : |
85130 for _plugin in $(jq -r '.plugins[].ladspa_label | select( . != null )' ${{ env.PLUGIN_METADATA }}); do \
@@ -102,10 +147,10 @@ jobs:
102147 image : opensuse/leap:latest
103148 steps :
104149 - name : Install dependencies
105- run : zypper --non-interactive --no-gpg-checks in tar gzip gcc gcc-c++ git make php valgrind libX11-devel libXrandr-devel libjack-devel cairo -devel freetype2 -devel libsndfile -devel lv2 -devel ladspa -devel
150+ run : zypper --non-interactive --no-gpg-checks in tar gzip gcc gcc-c++ git make php valgrind libX11-devel libXrandr-devel Mesa-libGL -devel libjack -devel cairo -devel freetype2 -devel libsndfile -devel
106151 - uses : actions/checkout@v3
107152 - name : Configure project
108- run : make config VERBOSE=1 FEATURES='doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
153+ run : make config STRICT=1 VERBOSE=1 FEATURES='clap doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
109154 - name : Fetch project dependencies
110155 run : make fetch
111156 - name : Build project
@@ -119,10 +164,10 @@ jobs:
119164 image : opensuse/tumbleweed:latest
120165 steps :
121166 - name : Install dependencies
122- run : zypper --non-interactive --no-gpg-checks in tar gzip gcc gcc-c++ clang lld git make php8-cli valgrind libstdc++-devel libX11-devel libXrandr-devel libjack-devel cairo -devel freetype2 -devel libsndfile -devel lv2 -devel ladspa -devel
167+ run : zypper --non-interactive --no-gpg-checks in tar gzip gcc gcc-c++ clang lld git make php8-cli valgrind libstdc++-devel libX11-devel libXrandr-devel Mesa-libGL -devel libjack -devel cairo -devel freetype2 -devel libsndfile -devel
123168 - uses : actions/checkout@v3
124169 - name : Configure project
125- run : make config CC=clang CXX=clang++ VERBOSE=1 FEATURES='doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
170+ run : make config CC=clang CXX=clang++ STRICT=1 VERBOSE=1 FEATURES='clap doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
126171 - name : Fetch project dependencies
127172 run : make fetch
128173 - name : Build project
@@ -138,14 +183,41 @@ jobs:
138183 - name : Update repositories
139184 run : apt-get update
140185 - name : Install dependencies
141- run : apt-get -y install gcc g++ git make php-cli pkg-config valgrind libx11-dev libxrandr-dev libjack-dev libcairo2-dev libgl-dev libfreetype6-dev libsndfile1-dev lv2-dev ladspa-sdk
186+ run : apt-get -y install gcc g++ git make php-cli pkg-config valgrind libx11-dev libxrandr-dev libjack-dev libcairo2-dev libgl-dev libfreetype6-dev libsndfile1-dev
142187 - uses : actions/checkout@v3
143188 - name : Configure project
144- run : make config VERBOSE=1 FEATURES='doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
189+ run : make config STRICT=1 VERBOSE=1 FEATURES='clap doc jack ladspa lv2 vst2 xdg' PREFIX=/usr
145190 - name : Fetch project dependencies
146191 run : make fetch
147192 - name : Build project
148193 run : make VERBOSE=1
149194 - name : Install binaries
150195 run : make install
151196
197+ windows_mingw64 :
198+ runs-on : windows-2022
199+ defaults :
200+ run :
201+ shell : msys2 {0}
202+ steps :
203+ - name : Setup MSYS2 and install dependencies
204+ uses : msys2/setup-msys2@v2
205+ with :
206+ msystem : MINGW64
207+ release : false
208+ update : false
209+ install : >-
210+ base-devel
211+ git
212+ mingw-w64-x86_64-gcc
213+ - uses : actions/checkout@v3
214+ - name : Configure project
215+ shell : msys2 {0}
216+ run : make config STRICT=1 VERBOSE=1 FEATURES='clap ladspa lv2 vst2'
217+ - name : Fetch project dependencies
218+ shell : msys2 {0}
219+ run : make fetch
220+ - name : Build project
221+ shell : msys2 {0}
222+ run : make VERBOSE=1
223+
0 commit comments