|
|
@@ -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 -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 |