You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

992 lines
41KB

  1. name: build
  2. on:
  3. push:
  4. env:
  5. CACHE_VERSION: 19
  6. DEBIAN_FRONTEND: noninteractive
  7. HOMEBREW_NO_AUTO_UPDATE: 1
  8. LIBGL_ALWAYS_SOFTWARE: 'true'
  9. jobs:
  10. linux-arm64:
  11. runs-on: ubuntu-20.04
  12. steps:
  13. - uses: actions/checkout@v2
  14. with:
  15. submodules: recursive
  16. - name: Set up cache
  17. id: cache
  18. uses: actions/cache@v2
  19. with:
  20. path: |
  21. ~/PawPawBuilds
  22. */*.a
  23. bin/*.*/*.so
  24. bin/*.vst3/Contents/*/*.so
  25. bin/Cardinal
  26. build/Cardinal
  27. build/CardinalFX
  28. build/CardinalSynth
  29. build/plugins
  30. build/rack
  31. carla/build
  32. dpf/build
  33. src/Rack/dep/bin
  34. src/Rack/dep/include
  35. src/Rack/dep/lib
  36. src/Rack/dep/share
  37. src/Rack/dep/jansson-2.12
  38. src/Rack/dep/libarchive-3.4.3
  39. src/Rack/dep/libsamplerate-0.1.9
  40. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  41. src/Rack/dep/zstd-1.4.5
  42. key: linux-arm64-v${{ env.CACHE_VERSION }}
  43. - name: Fix GitHub's mess
  44. run: |
  45. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  46. sudo apt-get update -qq
  47. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  48. - name: Set up dependencies
  49. run: |
  50. sudo dpkg --add-architecture arm64
  51. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  52. echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
  53. echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
  54. echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
  55. sudo apt-get update -qq
  56. sudo apt-get install -yqq g++-aarch64-linux-gnu libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
  57. - name: Build extra dependencies
  58. env:
  59. PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
  60. run: |
  61. ./deps/PawPaw/bootstrap-cardinal.sh linux-aarch64 && ./deps/PawPaw/.cleanup.sh linux-aarch64
  62. - name: Build linux arm64 cross-compiled
  63. run: |
  64. pushd deps/PawPaw; source local.env linux-aarch64; popd
  65. make features
  66. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  67. make unzipfx
  68. - name: Set sha8 (non-release)
  69. if: startsWith(github.ref, 'refs/tags/') != true
  70. id: slug1
  71. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  72. - name: Set sha8 (release)
  73. if: startsWith(github.ref, 'refs/tags/')
  74. id: slug2
  75. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  76. - name: Set sha8
  77. id: slug
  78. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  79. - name: Pack binaries
  80. run: |
  81. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../Cardinal
  82. - uses: actions/upload-artifact@v2
  83. with:
  84. name: ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  85. path: |
  86. *.tar.gz
  87. - uses: softprops/action-gh-release@v1
  88. if: startsWith(github.ref, 'refs/tags/')
  89. with:
  90. tag_name: ${{ github.ref_name }}
  91. name: ${{ github.ref_name }}
  92. draft: false
  93. prerelease: false
  94. files: |
  95. *.tar.gz
  96. linux-armhf:
  97. runs-on: ubuntu-20.04
  98. steps:
  99. - uses: actions/checkout@v2
  100. with:
  101. submodules: recursive
  102. - name: Set up cache
  103. id: cache
  104. uses: actions/cache@v2
  105. with:
  106. path: |
  107. ~/PawPawBuilds
  108. */*.a
  109. bin/*.*/*.so
  110. bin/*.vst3/Contents/*/*.so
  111. bin/Cardinal
  112. build/Cardinal
  113. build/CardinalFX
  114. build/CardinalSynth
  115. build/plugins
  116. build/rack
  117. carla/build
  118. dpf/build
  119. src/Rack/dep/bin
  120. src/Rack/dep/include
  121. src/Rack/dep/lib
  122. src/Rack/dep/share
  123. src/Rack/dep/jansson-2.12
  124. src/Rack/dep/libarchive-3.4.3
  125. src/Rack/dep/libsamplerate-0.1.9
  126. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  127. src/Rack/dep/zstd-1.4.5
  128. key: linux-armhf-v${{ env.CACHE_VERSION }}
  129. - name: Fix GitHub's mess
  130. run: |
  131. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  132. sudo apt-get update -qq
  133. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  134. - name: Set up dependencies
  135. run: |
  136. sudo dpkg --add-architecture armhf
  137. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  138. echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
  139. echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
  140. echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
  141. sudo apt-get update -qq
  142. sudo apt-get install -yqq g++-arm-linux-gnueabihf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
  143. - name: Build extra dependencies
  144. env:
  145. PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
  146. run: |
  147. ./deps/PawPaw/bootstrap-cardinal.sh linux-armhf && ./deps/PawPaw/.cleanup.sh linux-armhf
  148. - name: Build linux armhf cross-compiled
  149. run: |
  150. pushd deps/PawPaw; source local.env linux-armhf; popd
  151. make features
  152. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  153. make unzipfx
  154. - name: Set sha8 (non-release)
  155. if: startsWith(github.ref, 'refs/tags/') != true
  156. id: slug1
  157. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  158. - name: Set sha8 (release)
  159. if: startsWith(github.ref, 'refs/tags/')
  160. id: slug2
  161. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  162. - name: Set sha8
  163. id: slug
  164. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  165. - name: Pack binaries
  166. run: |
  167. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../Cardinal
  168. - uses: actions/upload-artifact@v2
  169. with:
  170. name: ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  171. path: |
  172. *.tar.gz
  173. - uses: softprops/action-gh-release@v1
  174. if: startsWith(github.ref, 'refs/tags/')
  175. with:
  176. tag_name: ${{ github.ref_name }}
  177. name: ${{ github.ref_name }}
  178. draft: false
  179. prerelease: false
  180. files: |
  181. *.tar.gz
  182. linux-i686:
  183. runs-on: ubuntu-20.04
  184. steps:
  185. - uses: actions/checkout@v2
  186. with:
  187. submodules: recursive
  188. - name: Set up cache
  189. id: cache
  190. uses: actions/cache@v2
  191. with:
  192. path: |
  193. ~/PawPawBuilds
  194. */*.a
  195. bin/*.*/*.so
  196. bin/*.vst3/Contents/*/*.so
  197. bin/Cardinal
  198. build/Cardinal
  199. build/CardinalFX
  200. build/CardinalSynth
  201. build/plugins
  202. build/rack
  203. carla/build
  204. dpf/build
  205. src/Rack/dep/bin
  206. src/Rack/dep/include
  207. src/Rack/dep/lib
  208. src/Rack/dep/share
  209. src/Rack/dep/jansson-2.12
  210. src/Rack/dep/libarchive-3.4.3
  211. src/Rack/dep/libsamplerate-0.1.9
  212. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  213. src/Rack/dep/zstd-1.4.5
  214. key: linux-i686-v${{ env.CACHE_VERSION }}
  215. - name: Fix GitHub's mess
  216. run: |
  217. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  218. sudo apt-get update -qq
  219. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  220. - name: Set up dependencies
  221. run: |
  222. sudo dpkg --add-architecture i386
  223. sudo apt-get update -qq
  224. sudo apt-get install -yqq g++-multilib libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
  225. - name: Build extra dependencies
  226. env:
  227. PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
  228. run: |
  229. ./deps/PawPaw/bootstrap-cardinal.sh linux-i686 && ./deps/PawPaw/.cleanup.sh linux-i686
  230. - name: Build linux i686
  231. run: |
  232. pushd deps/PawPaw; source local.env linux-i686; popd
  233. make features
  234. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  235. make unzipfx
  236. - name: Set sha8 (non-release)
  237. if: startsWith(github.ref, 'refs/tags/') != true
  238. id: slug1
  239. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  240. - name: Set sha8 (release)
  241. if: startsWith(github.ref, 'refs/tags/')
  242. id: slug2
  243. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  244. - name: Set sha8
  245. id: slug
  246. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  247. - name: Pack binaries
  248. run: |
  249. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../Cardinal
  250. - uses: actions/upload-artifact@v2
  251. with:
  252. name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  253. path: |
  254. *.tar.gz
  255. - uses: softprops/action-gh-release@v1
  256. if: startsWith(github.ref, 'refs/tags/')
  257. with:
  258. tag_name: ${{ github.ref_name }}
  259. name: ${{ github.ref_name }}
  260. draft: false
  261. prerelease: false
  262. files: |
  263. *.tar.gz
  264. linux-x86_64:
  265. runs-on: ubuntu-20.04
  266. steps:
  267. - uses: actions/checkout@v2
  268. with:
  269. submodules: recursive
  270. - name: Set up cache
  271. id: cache
  272. uses: actions/cache@v2
  273. with:
  274. path: |
  275. ~/PawPawBuilds
  276. */*.a
  277. bin/*.*/*.so
  278. bin/*.vst3/Contents/*/*.so
  279. bin/Cardinal
  280. build/Cardinal
  281. build/CardinalFX
  282. build/CardinalSynth
  283. build/plugins
  284. build/rack
  285. carla/build
  286. dpf/build
  287. src/Rack/dep/bin
  288. src/Rack/dep/include
  289. src/Rack/dep/lib
  290. src/Rack/dep/share
  291. src/Rack/dep/jansson-2.12
  292. src/Rack/dep/libarchive-3.4.3
  293. src/Rack/dep/libsamplerate-0.1.9
  294. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  295. src/Rack/dep/zstd-1.4.5
  296. key: linux-x86_64-v${{ env.CACHE_VERSION }}
  297. - name: Set up dependencies
  298. run: |
  299. sudo apt-get update -qq
  300. sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
  301. - name: Build extra dependencies
  302. run: |
  303. ./deps/PawPaw/bootstrap-cardinal.sh linux && ./deps/PawPaw/.cleanup.sh linux
  304. - name: Build linux x86_64
  305. run: |
  306. pushd deps/PawPaw; source local.env linux; popd
  307. make features
  308. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  309. make unzipfx
  310. - name: Set sha8 (non-release)
  311. if: startsWith(github.ref, 'refs/tags/') != true
  312. id: slug1
  313. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  314. - name: Set sha8 (release)
  315. if: startsWith(github.ref, 'refs/tags/')
  316. id: slug2
  317. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  318. - name: Set sha8
  319. id: slug
  320. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  321. - name: Pack binaries
  322. run: |
  323. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) ../Cardinal
  324. - uses: actions/upload-artifact@v2
  325. with:
  326. name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  327. path: |
  328. *.tar.gz
  329. - uses: softprops/action-gh-release@v1
  330. if: startsWith(github.ref, 'refs/tags/')
  331. with:
  332. tag_name: ${{ github.ref_name }}
  333. name: ${{ github.ref_name }}
  334. draft: false
  335. prerelease: false
  336. files: |
  337. *.tar.gz
  338. linux-x86_64-debug:
  339. runs-on: ubuntu-20.04
  340. steps:
  341. - uses: actions/checkout@v2
  342. with:
  343. submodules: recursive
  344. - name: Set up dependencies
  345. run: |
  346. sudo apt-get update -qq
  347. sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
  348. - name: Build linux x86_64 (debug)
  349. env:
  350. LDFLAGS: -static-libgcc -static-libstdc++
  351. run: |
  352. make features
  353. make DEBUG=true -j $(nproc)
  354. - name: Set sha8
  355. id: slug
  356. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  357. - name: Pack binaries
  358. run: |
  359. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst)
  360. - uses: actions/upload-artifact@v2
  361. with:
  362. name: ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  363. path: |
  364. *.tar.gz
  365. linux-x86_64-headless:
  366. runs-on: ubuntu-20.04
  367. steps:
  368. - uses: actions/checkout@v2
  369. with:
  370. submodules: recursive
  371. - name: Set up dependencies
  372. run: |
  373. sudo apt-get update -qq
  374. sudo apt-get remove -yqq libcairo2-dev libx11-dev libx11-dev libxext-dev
  375. sudo apt-get install -yqq liblo-dev
  376. - name: Build linux x86_64 (headless)
  377. run: |
  378. make HEADLESS=true features
  379. make HEADLESS=true -j $(nproc)
  380. linux-x86_64-sysdeps:
  381. runs-on: ubuntu-20.04
  382. steps:
  383. - uses: actions/checkout@v2
  384. with:
  385. submodules: recursive
  386. - name: Set up dependencies
  387. run: |
  388. sudo apt-get update -qq
  389. sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev libarchive-dev libjansson-dev libsamplerate0-dev libsndfile1-dev libspeexdsp-dev
  390. - name: Build linux x86_64 (sysdeps)
  391. run: |
  392. make features
  393. make SYSDEPS=true -j $(nproc)
  394. macos-intel:
  395. runs-on: macos-10.15
  396. steps:
  397. - uses: actions/checkout@v2
  398. with:
  399. submodules: recursive
  400. - name: Set up cache
  401. id: cache
  402. uses: actions/cache@v2
  403. with:
  404. path: |
  405. ~/PawPawBuilds
  406. */*.a
  407. bin/*.*/*.dylib
  408. bin/*.*/Contents/MacOS/*
  409. bin/Cardinal
  410. build/Cardinal
  411. build/CardinalFX
  412. build/CardinalSynth
  413. build/plugins
  414. build/rack
  415. carla/build
  416. dpf/build
  417. jucewrapper/build
  418. src/Rack/dep/bin
  419. src/Rack/dep/include
  420. src/Rack/dep/lib
  421. src/Rack/dep/share
  422. src/Rack/dep/jansson-2.12
  423. src/Rack/dep/libarchive-3.4.3
  424. src/Rack/dep/libsamplerate-0.1.9
  425. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  426. src/Rack/dep/zstd-1.4.5
  427. key: macos-intel-v${{ env.CACHE_VERSION }}
  428. - name: Build extra dependencies
  429. run: |
  430. ./deps/PawPaw/bootstrap-cardinal.sh macos && ./deps/PawPaw/.cleanup.sh macos
  431. - name: Build macOS intel (base)
  432. run: |
  433. pushd deps/PawPaw; source local.env macos; popd
  434. make features
  435. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
  436. - name: Build macOS intel (AU using juce)
  437. run: |
  438. pushd deps/PawPaw; source local.env macos; popd
  439. git clone --depth=1 -b master https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
  440. sed -i -e 's/kAudioUnitProperty_SupportsMPE/kAudioUnitProperty_ignore_SupportsMPE/' jucewrapper/JUCE/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h
  441. mkdir -p jucewrapper/build
  442. pushd jucewrapper/build; cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.8 -DCMAKE_BUILD_TYPE=Release .. && make -j $(sysctl -n hw.logicalcpu); popd
  443. mv jucewrapper/build/*_artefacts/Release/AU/*.component bin/
  444. - name: Build macOS intel (packaging)
  445. run: |
  446. pushd deps/PawPaw; source local.env macos; popd
  447. ./utils/create-macos-installer.sh
  448. - name: Set sha8 (non-release)
  449. if: startsWith(github.ref, 'refs/tags/') != true
  450. id: slug1
  451. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  452. - name: Set sha8 (release)
  453. if: startsWith(github.ref, 'refs/tags/')
  454. id: slug2
  455. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  456. - name: Set sha8
  457. id: slug
  458. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  459. - name: Rename macOS bundle
  460. run: |
  461. mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.pkg
  462. - uses: actions/upload-artifact@v2
  463. with:
  464. name: ${{ github.event.repository.name }}-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  465. path: |
  466. ${{ github.event.repository.name }}-*.pkg
  467. - uses: softprops/action-gh-release@v1
  468. if: startsWith(github.ref, 'refs/tags/')
  469. with:
  470. tag_name: ${{ github.ref_name }}
  471. name: ${{ github.ref_name }}
  472. draft: false
  473. prerelease: false
  474. files: |
  475. ${{ github.event.repository.name }}-*.pkg
  476. macos-universal:
  477. runs-on: macos-10.15
  478. steps:
  479. - uses: actions/checkout@v2
  480. with:
  481. submodules: recursive
  482. - name: Set up cache
  483. id: cache
  484. uses: actions/cache@v2
  485. with:
  486. path: |
  487. ~/PawPawBuilds
  488. */*.a
  489. bin/*.*/*.dylib
  490. bin/*.*/Contents/MacOS/*
  491. bin/Cardinal
  492. build/Cardinal
  493. build/CardinalFX
  494. build/CardinalSynth
  495. build/plugins
  496. build/rack
  497. carla/build
  498. dpf/build
  499. jucewrapper/build
  500. src/Rack/dep/bin
  501. src/Rack/dep/include
  502. src/Rack/dep/lib
  503. src/Rack/dep/share
  504. src/Rack/dep/jansson-2.12
  505. src/Rack/dep/libarchive-3.4.3
  506. src/Rack/dep/libsamplerate-0.1.9
  507. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  508. src/Rack/dep/zstd-1.4.5
  509. key: macos-universal-v${{ env.CACHE_VERSION }}
  510. - name: Fix up Xcode
  511. run: |
  512. sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
  513. sudo xcode-select -s "/Applications/Xcode_12.3.app"
  514. - name: Build extra dependencies
  515. run: |
  516. ./deps/PawPaw/bootstrap-cardinal.sh macos-universal && ./deps/PawPaw/.cleanup.sh macos-universal
  517. - name: Build macOS universal (base)
  518. run: |
  519. pushd deps/PawPaw; source local.env macos-universal; popd
  520. make features
  521. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
  522. - name: Build macOS universal (AU using juce)
  523. run: |
  524. pushd deps/PawPaw; source local.env macos-universal; popd
  525. git clone --depth=1 -b master https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
  526. mkdir -p jucewrapper/build
  527. pushd jucewrapper/build; cmake -DCMAKE_OSX_ARCHITECTURES='arm64;x86_64' -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 -DCMAKE_BUILD_TYPE=Release .. && make -j $(sysctl -n hw.logicalcpu); popd
  528. mv jucewrapper/build/*_artefacts/Release/AU/*.component bin/
  529. - name: Build macOS universal (packaging)
  530. run: |
  531. pushd deps/PawPaw; source local.env macos-universal; popd
  532. ./utils/create-macos-installer.sh
  533. - name: Set sha8 (non-release)
  534. if: startsWith(github.ref, 'refs/tags/') != true
  535. id: slug1
  536. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  537. - name: Set sha8 (release)
  538. if: startsWith(github.ref, 'refs/tags/')
  539. id: slug2
  540. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  541. - name: Set sha8
  542. id: slug
  543. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  544. - name: Rename macOS bundle
  545. run: |
  546. mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.pkg
  547. - uses: actions/upload-artifact@v2
  548. with:
  549. name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  550. path: |
  551. ${{ github.event.repository.name }}-*.pkg
  552. - uses: softprops/action-gh-release@v1
  553. if: startsWith(github.ref, 'refs/tags/')
  554. with:
  555. tag_name: ${{ github.ref_name }}
  556. name: ${{ github.ref_name }}
  557. draft: false
  558. prerelease: false
  559. files: |
  560. ${{ github.event.repository.name }}-*.pkg
  561. modduo:
  562. runs-on: ubuntu-20.04
  563. steps:
  564. - uses: actions/checkout@v2
  565. with:
  566. submodules: recursive
  567. - name: Set up cache
  568. uses: actions/cache@v2
  569. id: mpb-cache
  570. with:
  571. path: |
  572. ~/mod-workdir
  573. key: modduo-static-v${{ env.CACHE_VERSION }}
  574. - name: Set up dependencies
  575. run: |
  576. sudo apt-get update -qq
  577. sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static
  578. sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
  579. - name: Bootstrap toolchain
  580. if: steps.mpb-cache.outputs.cache-hit != 'true'
  581. run: |
  582. git clone --depth=1 https://github.com/moddevices/mod-plugin-builder.git deps/mod-plugin-builder
  583. sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config
  584. $(pwd)/deps/mod-plugin-builder/bootstrap.sh modduo-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduo-static
  585. - name: Build for modduo
  586. run: |
  587. make modduo HEADLESS=true WITH_LTO=true MODDUO=true -j $(nproc)
  588. - name: Set sha8
  589. id: slug
  590. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  591. - name: Pack binaries
  592. run: |
  593. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-modduo-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep lv2)
  594. - uses: actions/upload-artifact@v2
  595. with:
  596. name: ${{ github.event.repository.name }}-modduo-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  597. path: |
  598. *.tar.gz
  599. modduox:
  600. runs-on: ubuntu-20.04
  601. steps:
  602. - uses: actions/checkout@v2
  603. with:
  604. submodules: recursive
  605. - name: Set up cache
  606. uses: actions/cache@v2
  607. id: mpb-cache
  608. with:
  609. path: |
  610. ~/mod-workdir
  611. key: modduox-v${{ env.CACHE_VERSION }}
  612. - name: Set up dependencies
  613. run: |
  614. sudo apt-get update -qq
  615. sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static
  616. sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
  617. - name: Bootstrap toolchain
  618. if: steps.mpb-cache.outputs.cache-hit != 'true'
  619. run: |
  620. git clone --depth=1 https://github.com/moddevices/mod-plugin-builder.git deps/mod-plugin-builder
  621. sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config
  622. $(pwd)/deps/mod-plugin-builder/bootstrap.sh modduox-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduox-static
  623. - name: Build for modduox
  624. run: |
  625. make modduox HEADLESS=true WITH_LTO=true -j $(nproc)
  626. - name: Set sha8
  627. id: slug
  628. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  629. - name: Pack binaries
  630. run: |
  631. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-modduox-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep lv2)
  632. - uses: actions/upload-artifact@v2
  633. with:
  634. name: ${{ github.event.repository.name }}-modduox-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  635. path: |
  636. *.tar.gz
  637. moddwarf:
  638. runs-on: ubuntu-20.04
  639. steps:
  640. - uses: actions/checkout@v2
  641. with:
  642. submodules: recursive
  643. - name: Set up cache
  644. uses: actions/cache@v2
  645. id: mpb-cache
  646. with:
  647. path: |
  648. ~/mod-workdir
  649. key: moddwarf-v${{ env.CACHE_VERSION }}
  650. - name: Set up dependencies
  651. run: |
  652. sudo apt-get update -qq
  653. sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static
  654. sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
  655. - name: Bootstrap toolchain
  656. if: steps.mpb-cache.outputs.cache-hit != 'true'
  657. run: |
  658. git clone --depth=1 https://github.com/moddevices/mod-plugin-builder.git deps/mod-plugin-builder
  659. sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config
  660. $(pwd)/deps/mod-plugin-builder/bootstrap.sh moddwarf minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh moddwarf
  661. - name: Build for moddwarf
  662. run: |
  663. make moddwarf HEADLESS=true WITH_LTO=true -j $(nproc)
  664. - name: Set sha8
  665. id: slug
  666. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  667. - name: Pack binaries
  668. run: |
  669. tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-moddwarf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep lv2)
  670. - uses: actions/upload-artifact@v2
  671. with:
  672. name: ${{ github.event.repository.name }}-moddwarf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  673. path: |
  674. *.tar.gz
  675. win32:
  676. runs-on: ubuntu-20.04
  677. steps:
  678. - uses: actions/checkout@v2
  679. with:
  680. submodules: recursive
  681. - name: Set up cache
  682. id: cache
  683. uses: actions/cache@v2
  684. with:
  685. path: |
  686. ~/PawPawBuilds
  687. */*.a
  688. bin/*.*/*.dll
  689. bin/*.vst3/Contents/*/*.vst3
  690. bin/Cardinal.exe
  691. build/Cardinal
  692. build/CardinalFX
  693. build/CardinalSynth
  694. build/plugins
  695. build/rack
  696. carla/build
  697. dpf/build
  698. src/Rack/dep/bin
  699. src/Rack/dep/include
  700. src/Rack/dep/lib
  701. src/Rack/dep/share
  702. src/Rack/dep/jansson-2.12
  703. src/Rack/dep/libarchive-3.4.3
  704. src/Rack/dep/libsamplerate-0.1.9
  705. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  706. src/Rack/dep/zstd-1.4.5
  707. key: win32-v${{ env.CACHE_VERSION }}
  708. - name: Fix GitHub's mess
  709. run: |
  710. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  711. sudo apt-get update -qq
  712. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  713. - name: Set up dependencies
  714. run: |
  715. sudo dpkg --add-architecture i386
  716. sudo apt-get update -qq
  717. sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 qttools5-dev qttools5-dev-tools xvfb
  718. - name: Build extra dependencies
  719. run: |
  720. ./deps/PawPaw/bootstrap-cardinal.sh win32 && ./deps/PawPaw/.cleanup.sh win32
  721. - name: Build win32 cross-compiled (base)
  722. run: |
  723. pushd deps/PawPaw; source local.env win32; popd
  724. make features
  725. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  726. - name: Build win64 cross-compiled (carla)
  727. run: |
  728. pushd deps/PawPaw; source local.env win32; popd
  729. make -C carla CARLA_BACKEND_NAMESPACE=Cardinal EXTERNAL_PLUGINS=true HAVE_FLUIDSYNTH=false HAVE_ZYN_DEPS=false HAVE_ZYN_UI_DEPS=false HAVE_PYQT=true HAVE_QT5=true HAVE_QT5PKG=true STATIC_PLUGIN_TARGET=true USING_JUCE=false USING_JUCE_GUI_EXTRA=false -j $(nproc)
  730. make -C carla EMBED_TARGET=true TESTING=true dist
  731. make -C carla EMBED_TARGET=true TESTING=true dist
  732. - name: Build win64 cross-compiled (packaging)
  733. run: |
  734. pushd deps/PawPaw; source local.env win32; popd
  735. xvfb-run ./utils/create-windows-installer.sh 32
  736. - name: Set sha8 (non-release)
  737. if: startsWith(github.ref, 'refs/tags/') != true
  738. id: slug1
  739. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  740. - name: Set sha8 (release)
  741. if: startsWith(github.ref, 'refs/tags/')
  742. id: slug2
  743. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  744. - name: Set sha8
  745. id: slug
  746. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  747. - name: Pack binaries
  748. run: |
  749. cd bin; zip -r -9 ../${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls | grep -e lv2 -e vst)
  750. - uses: actions/upload-artifact@v2
  751. with:
  752. name: ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  753. path: |
  754. *.exe
  755. *.zip
  756. - uses: softprops/action-gh-release@v1
  757. if: startsWith(github.ref, 'refs/tags/')
  758. with:
  759. tag_name: ${{ github.ref_name }}
  760. name: ${{ github.ref_name }}
  761. draft: false
  762. prerelease: false
  763. files: |
  764. *.exe
  765. *.zip
  766. win64:
  767. runs-on: ubuntu-20.04
  768. steps:
  769. - uses: actions/checkout@v2
  770. with:
  771. submodules: recursive
  772. - name: Set up cache
  773. id: cache
  774. uses: actions/cache@v2
  775. with:
  776. path: |
  777. ~/PawPawBuilds
  778. */*.a
  779. bin/*.*/*.dll
  780. bin/*.vst3/Contents/*/*.vst3
  781. bin/Cardinal.exe
  782. build/Cardinal
  783. build/CardinalFX
  784. build/CardinalSynth
  785. build/plugins
  786. build/rack
  787. carla/build
  788. dpf/build
  789. src/Rack/dep/bin
  790. src/Rack/dep/include
  791. src/Rack/dep/lib
  792. src/Rack/dep/share
  793. src/Rack/dep/jansson-2.12
  794. src/Rack/dep/libarchive-3.4.3
  795. src/Rack/dep/libsamplerate-0.1.9
  796. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  797. src/Rack/dep/zstd-1.4.5
  798. key: win64-v${{ env.CACHE_VERSION }}
  799. - name: Fix GitHub's mess
  800. run: |
  801. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  802. sudo apt-get update -qq
  803. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  804. - name: Set up dependencies
  805. run: |
  806. sudo dpkg --add-architecture i386
  807. sudo apt-get update -qq
  808. sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable qttools5-dev qttools5-dev-tools xvfb
  809. - name: Build extra dependencies
  810. run: |
  811. ./deps/PawPaw/bootstrap-cardinal.sh win64 && ./deps/PawPaw/.cleanup.sh win64
  812. - name: Build win64 cross-compiled (base)
  813. run: |
  814. pushd deps/PawPaw; source local.env win64; popd
  815. make features
  816. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  817. - name: Build win64 cross-compiled (carla)
  818. run: |
  819. pushd deps/PawPaw; source local.env win64; popd
  820. make -C carla CARLA_BACKEND_NAMESPACE=Cardinal EXTERNAL_PLUGINS=true HAVE_FLUIDSYNTH=false HAVE_ZYN_DEPS=false HAVE_ZYN_UI_DEPS=false HAVE_PYQT=true HAVE_QT5=true HAVE_QT5PKG=true STATIC_PLUGIN_TARGET=true USING_JUCE=false USING_JUCE_GUI_EXTRA=false all win32r -j $(nproc)
  821. make -C carla EMBED_TARGET=true TESTING=true dist
  822. make -C carla EMBED_TARGET=true TESTING=true dist
  823. - name: Build win64 cross-compiled (packaging)
  824. run: |
  825. pushd deps/PawPaw; source local.env win64; popd
  826. xvfb-run ./utils/create-windows-installer.sh 64
  827. - name: Set sha8 (non-release)
  828. if: startsWith(github.ref, 'refs/tags/') != true
  829. id: slug1
  830. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  831. - name: Set sha8 (release)
  832. if: startsWith(github.ref, 'refs/tags/')
  833. id: slug2
  834. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  835. - name: Set sha8
  836. id: slug
  837. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  838. - name: Pack binaries
  839. run: |
  840. cd bin; zip -r -9 ../${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.zip $(ls | grep -e lv2 -e vst)
  841. - uses: actions/upload-artifact@v2
  842. with:
  843. name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  844. path: |
  845. *.exe
  846. *.zip
  847. - uses: softprops/action-gh-release@v1
  848. if: startsWith(github.ref, 'refs/tags/')
  849. with:
  850. tag_name: ${{ github.ref_name }}
  851. name: ${{ github.ref_name }}
  852. draft: false
  853. prerelease: false
  854. files: |
  855. *.exe
  856. *.zip
  857. source-tarball:
  858. runs-on: ubuntu-20.04
  859. steps:
  860. - uses: actions/checkout@v2
  861. with:
  862. submodules: recursive
  863. - name: Set up dependencies
  864. run: |
  865. sudo apt-get update -qq
  866. sudo apt-get install -yqq liblo-dev
  867. - name: Create source tarball
  868. run: |
  869. make HEADLESS=true tarball
  870. make HEADLESS=true tarball+deps
  871. - name: Set sha8 (non-release)
  872. if: startsWith(github.ref, 'refs/tags/') != true
  873. id: slug1
  874. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  875. - name: Set sha8 (release)
  876. if: startsWith(github.ref, 'refs/tags/')
  877. id: slug2
  878. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  879. - name: Set sha8
  880. id: slug
  881. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  882. - uses: actions/upload-artifact@v2
  883. with:
  884. name: ${{ github.event.repository.name }}-source-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  885. path: |
  886. /home/runner/cardinal*.tar.xz
  887. /home/runner/*/cardinal*.tar.xz
  888. /home/runner/*/*/cardinal*.tar.xz
  889. - uses: softprops/action-gh-release@v1
  890. if: startsWith(github.ref, 'refs/tags/')
  891. with:
  892. tag_name: ${{ github.ref_name }}
  893. name: ${{ github.ref_name }}
  894. draft: false
  895. prerelease: false
  896. files: |
  897. /home/runner/cardinal*.tar.xz
  898. /home/runner/*/cardinal*.tar.xz
  899. /home/runner/*/*/cardinal*.tar.xz
  900. plugin-validation:
  901. runs-on: ubuntu-20.04
  902. steps:
  903. - uses: actions/checkout@v2
  904. with:
  905. submodules: recursive
  906. - name: Set up dependencies
  907. run: |
  908. # custom repos
  909. wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb
  910. sudo dpkg -i kxstudio-repos_10.0.3_all.deb
  911. sudo apt-get update -qq
  912. # build-deps
  913. sudo apt-get install -yqq liblo-dev
  914. # runtime testing
  915. sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint valgrind
  916. - name: Build Cardinal
  917. env:
  918. CFLAGS: -g
  919. CXXFLAGS: -g -DDPF_ABORT_ON_ERROR
  920. LDFLAGS: -static-libgcc -static-libstdc++
  921. run: |
  922. make HEADLESS=true features
  923. make HEADLESS=true NOOPT=true NOPLUGINS=true STATIC_BUILD=true SKIP_STRIPPING=true -j $(nproc)
  924. - name: Validate LV2 ttl syntax
  925. run: |
  926. lv2_validate \
  927. /usr/lib/lv2/mod.lv2/*.ttl \
  928. /usr/lib/lv2/kx-meta/*.ttl \
  929. /usr/lib/lv2/kx-control-input-port-change-request.lv2/*.ttl \
  930. /usr/lib/lv2/kx-programs.lv2/*.ttl \
  931. ./bin/*.lv2/*.ttl
  932. - name: Validate LV2 metadata and binaries
  933. run: |
  934. export LV2_PATH=/tmp/lv2-path
  935. mkdir ${LV2_PATH}
  936. cp -r bin/CardinalFX.lv2 bin/CardinalSynth.lv2 \
  937. /usr/lib/lv2/{atom,buf-size,core,data-access,kx-control-input-port-change-request,kx-programs,instance-access,midi,mod,parameters,port-groups,port-props,options,patch,presets,resize-port,state,time,ui,units,urid,worker}.lv2 \
  938. ${LV2_PATH}
  939. lv2lint -s lv2_generate_ttl -l ld-linux-x86-64.so.2 -M nopack $(lv2ls)
  940. - name: Test LV2 plugin
  941. run: |
  942. export LV2_PATH=/tmp/lv2-path
  943. for p in $(lv2ls); do \
  944. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  945. valgrind \
  946. --error-exitcode=255 \
  947. --leak-check=no \
  948. --track-origins=yes \
  949. --suppressions=./dpf/utils/valgrind-dpf.supp \
  950. /usr/lib/carla/carla-bridge-native lv2 "" ${p} 1>/dev/null; \
  951. done
  952. - name: Test VST2 plugin
  953. run: |
  954. for p in $(ls bin/*.vst/*.so); do \
  955. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  956. valgrind \
  957. --error-exitcode=255 \
  958. --leak-check=no \
  959. --track-origins=yes \
  960. --suppressions=./dpf/utils/valgrind-dpf.supp \
  961. /usr/lib/carla/carla-bridge-native vst2 ./${p} "" 1>/dev/null; \
  962. done
  963. - name: Test VST3 plugin
  964. run: |
  965. for p in $(ls bin/ | grep vst3); do \
  966. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  967. valgrind \
  968. --error-exitcode=255 \
  969. --leak-check=no \
  970. --track-origins=yes \
  971. --suppressions=./dpf/utils/valgrind-dpf.supp \
  972. /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} "" 1>/dev/null; \
  973. done