Skip to content

Commit

Permalink
Add plugin validation to CI
Browse files Browse the repository at this point in the history
Signed-off-by: falkTX <falktx@falktx.com>
  • Loading branch information
falkTX committed Sep 18, 2021
1 parent 1c4ff66 commit 369d208
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 1 deletion.
86 changes: 86 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,3 +235,89 @@ jobs:
bin/*
!bin/*-ladspa.dll
!bin/*-dssi.dll
plugin-validation:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Set up dependencies
run: |
# custom repos
wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb
sudo dpkg -i kxstudio-repos_10.0.3_all.deb
sudo apt-get update -qq
# build-deps
sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
# runtime testing
sudo apt-get install -yq carla-git lilv-utils lv2-dev lv2lint valgrind
- name: Build plugins
env:
CFLAGS: -g
CXXFLAGS: -g
LDFLAGS: -static-libgcc -static-libstdc++
run: |
make features
make NOOPT=true SKIP_STRIPPING=true -j $(nproc)
- name: Validate LV2 ttl syntax
run: |
lv2_validate \
/usr/lib/lv2/mod.lv2/*.ttl \
/usr/lib/lv2/kx-meta/*.ttl \
/usr/lib/lv2/kx-control-input-port-change-request.lv2/*.ttl \
/usr/lib/lv2/kx-programs.lv2/*.ttl \
./bin/*.lv2/*.ttl
- name: Validate LV2 metadata and binaries
run: |
export LV2_PATH=/tmp/lv2-path
mkdir ${LV2_PATH}
cp -r bin/*.lv2 \
/usr/lib/lv2/{atom,buf-size,core,data-access,kx-control-input-port-change-request,kx-programs,instance-access,midi,parameters,port-groups,port-props,options,patch,presets,resize-port,state,time,ui,units,urid,worker}.lv2 \
${LV2_PATH}
lv2lint -s lv2_generate_ttl -l ld-linux-x86-64.so.2 -M nopack $(lv2ls)
- name: Test LADSPA plugins
run: |
for p in $(ls bin/ | grep ladspa.so); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
--error-exitcode=255 \
--leak-check=full \
--track-origins=yes \
--suppressions=./dpf/utils/valgrind-dpf.supp \
/usr/lib/carla/carla-bridge-native ladspa ./bin/${p} "" 1>/dev/null; \
done
- name: Test DSSI plugins
run: |
for p in $(ls bin/ | grep dssi.so); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
--error-exitcode=255 \
--leak-check=full \
--track-origins=yes \
--suppressions=./dpf/utils/valgrind-dpf.supp \
/usr/lib/carla/carla-bridge-native dssi ./bin/${p} "" 1>/dev/null; \
done
- name: Test LV2 plugins
run: |
export LV2_PATH=/tmp/lv2-path
for p in $(lv2ls); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
--error-exitcode=255 \
--leak-check=full \
--track-origins=yes \
--suppressions=./dpf/utils/valgrind-dpf.supp \
/usr/lib/carla/carla-bridge-native lv2 "" ${p} 1>/dev/null; \
done
- name: Test VST2 plugins
run: |
for p in $(ls bin/ | grep vst.so); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
--error-exitcode=255 \
--leak-check=full \
--track-origins=yes \
--suppressions=./dpf/utils/valgrind-dpf.supp \
/usr/lib/carla/carla-bridge-native vst2 ./bin/${p} "" 1>/dev/null; \
done
2 changes: 1 addition & 1 deletion dpf
Submodule dpf updated 61 files
+86 −0 .github/workflows/example-plugins.yml
+5 −10 Makefile.base.mk
+25 −8 Makefile.plugins.mk
+27 −0 cmake/DPF-plugin.cmake
+0 −1 dgl/Application.hpp
+16 −2 dgl/NanoVG.hpp
+4 −4 dgl/StandaloneWindow.hpp
+13 −1 dgl/Window.hpp
+0 −2 dgl/src/Application.cpp
+0 −2 dgl/src/ApplicationPrivateData.cpp
+7 −0 dgl/src/Cairo.cpp
+44 −2 dgl/src/NanoVG.cpp
+30 −0 dgl/src/OpenGL.cpp
+7 −0 dgl/src/Vulkan.cpp
+23 −3 dgl/src/Window.cpp
+27 −7 dgl/src/WindowPrivateData.cpp
+8 −0 dgl/src/WindowPrivateData.hpp
+6 −1 dgl/src/nanovg/nanovg.c
+12 −5 dgl/src/nanovg/nanovg.h
+68 −10 dgl/src/nanovg/nanovg_gl.h
+35 −1 dgl/src/pugl.cpp
+5 −1 dgl/src/pugl.hpp
+1 −1 distrho/DistrhoInfo.hpp
+1 −1 distrho/DistrhoPluginMain.cpp
+4 −4 distrho/DistrhoPluginUtils.hpp
+30 −0 distrho/extra/String.hpp
+5 −6 distrho/src/DistrhoPluginChecks.h
+194 −24 distrho/src/DistrhoPluginLV2export.cpp
+17 −1 distrho/src/DistrhoPluginVST2.cpp
+12 −0 distrho/src/DistrhoUI.cpp
+3 −3 distrho/src/DistrhoUIInternal.hpp
+5 −0 distrho/src/DistrhoUIPrivateData.hpp
+2 −0 examples/Metronome/ExamplePluginMetronome.cpp
+3 −0 examples/States/DistrhoPluginInfo.h
+4 −6 examples/States/ExamplePluginStates.cpp
+0 −4 examples/States/Makefile
+7 −2 tests/Makefile
+229 −0 tests/NanoImage.cpp
+4 −4 utils/lv2-ttl-generator/GNUmakefile
+3 −0 utils/symbols/dssi.def
+2 −0 utils/symbols/dssi.exp
+4 −0 utils/symbols/dssi.version
+2 −0 utils/symbols/ladspa.def
+1 −0 utils/symbols/ladspa.exp
+4 −0 utils/symbols/ladspa.version
+3 −0 utils/symbols/lv2-dsp.def
+2 −0 utils/symbols/lv2-dsp.exp
+4 −0 utils/symbols/lv2-dsp.version
+2 −0 utils/symbols/lv2-ui.def
+1 −0 utils/symbols/lv2-ui.exp
+4 −0 utils/symbols/lv2-ui.version
+4 −0 utils/symbols/lv2.def
+3 −0 utils/symbols/lv2.exp
+4 −0 utils/symbols/lv2.version
+3 −0 utils/symbols/vst2.def
+1 −0 utils/symbols/vst2.exp
+4 −0 utils/symbols/vst2.version
+4 −0 utils/symbols/vst3.def
+3 −0 utils/symbols/vst3.exp
+4 −0 utils/symbols/vst3.version
+41 −0 utils/valgrind-dpf.supp

0 comments on commit 369d208

Please sign in to comment.