diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6d39a68..60a09fe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list sudo apt-get update -qq - sudo apt-get install -yq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static + sudo apt-get install -yq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static xvfb # extra for vcv deps sudo apt-get install -yq libxi-dev:arm64 libxinerama-dev:arm64 # fix broken Ubuntu packages missing pkg-config file in multi-arch package @@ -41,7 +41,7 @@ jobs: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make WITH_LTO=true -j $(nproc) + xvfb-run make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -68,7 +68,7 @@ jobs: echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list sudo apt-get update -qq - sudo apt-get install -yq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static + sudo apt-get install -yq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static xvfb # extra for vcv deps sudo apt-get install -yq libxi-dev:armhf libxinerama-dev:armhf # fix broken Ubuntu packages missing pkg-config file in multi-arch package @@ -83,7 +83,7 @@ jobs: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make WITH_LTO=true -j $(nproc) + xvfb-run make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -106,7 +106,7 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yq g++-i686-linux-gnu libasound2-dev:i386 libcairo2-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 + sudo apt-get install -yq g++-i686-linux-gnu libasound2-dev:i386 libcairo2-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 xvfb # extra for vcv deps sudo apt-get install -yq libxi-dev:i386 libxinerama-dev:i386 - name: Build linux x86 @@ -119,7 +119,7 @@ jobs: PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig run: | make features - make WITH_LTO=true -j $(nproc) + xvfb-run make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -141,7 +141,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev xvfb # extra for vcv deps sudo apt-get install -yq libxi-dev libxinerama-dev - name: Build linux x86_64 @@ -149,7 +149,7 @@ jobs: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make WITH_LTO=true -j $(nproc) + xvfb-run make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -171,7 +171,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev + sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev xvfb # extra for vcv deps sudo apt-get install -yq libxi-dev libxinerama-dev - name: Build linux x86_64 (debug) @@ -179,7 +179,7 @@ jobs: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make DEBUG=true -j $(nproc) + xvfb-run make DEBUG=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -230,7 +230,7 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 + sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 xvfb - name: Build win32 cross-compiled env: CC: i686-w64-mingw32-gcc @@ -240,7 +240,7 @@ jobs: WINEDEBUG: "-all" run: | make features - make WITH_LTO=true -j $(nproc) + xvfb-run make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -262,7 +262,7 @@ jobs: - name: Set up dependencies run: | sudo apt-get update -qq - sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable + sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable xvfb - name: Build win64 cross-compiled env: CC: x86_64-w64-mingw32-gcc @@ -272,7 +272,7 @@ jobs: WINEDEBUG: "-all" run: | make features - make WITH_LTO=true -j $(nproc) + xvfb-run make WITH_LTO=true -j $(nproc) - name: Set sha8 id: slug run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" @@ -298,7 +298,7 @@ jobs: 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 + sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev xvfb # extra for vcv deps sudo apt-get install -yq libxi-dev libxinerama-dev # runtime testing @@ -310,7 +310,7 @@ jobs: LDFLAGS: -static-libgcc -static-libstdc++ run: | make features - make NOOPT=true SKIP_STRIPPING=true -j $(nproc) + xvfb-run make NOOPT=true SKIP_STRIPPING=true -j $(nproc) - name: Validate LV2 ttl syntax run: | lv2_validate \ @@ -327,56 +327,34 @@ jobs: /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=no \ - --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=no \ - --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 + - name: Test LV2 plugin run: | export LV2_PATH=/tmp/lv2-path for p in $(lv2ls); do \ env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ - valgrind \ + xvfb-run valgrind \ --error-exitcode=255 \ --leak-check=no \ --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 + - name: Test VST2 plugin run: | for p in $(ls bin/ | grep vst.so); do \ env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ - valgrind \ + xvfb-run valgrind \ --error-exitcode=255 \ --leak-check=no \ --track-origins=yes \ --suppressions=./dpf/utils/valgrind-dpf.supp \ /usr/lib/carla/carla-bridge-native vst2 ./bin/${p} "" 1>/dev/null; \ done - - name: Test VST3 plugins + - name: Test VST3 plugin run: | for p in $(ls bin/ | grep vst3); do \ env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \ - valgrind \ + xvfb-run valgrind \ --error-exitcode=255 \ --leak-check=no \ --track-origins=yes \