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.

1001 lines
41KB

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