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.

996 lines
41KB

  1. name: build
  2. on:
  3. push:
  4. env:
  5. CACHE_VERSION: 24
  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. env:
  438. MACOSX_DEPLOYMENT_TARGET: '10.8'
  439. run: |
  440. pushd deps/PawPaw; source local.env macos; popd
  441. git clone --depth=1 -b master https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
  442. sed -i -e 's/kAudioUnitProperty_SupportsMPE/kAudioUnitProperty_ignore_SupportsMPE/' jucewrapper/JUCE/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h
  443. mkdir -p jucewrapper/build
  444. 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
  445. mv jucewrapper/build/*_artefacts/Release/AU/*.component bin/
  446. - name: Build macOS intel (packaging)
  447. run: |
  448. pushd deps/PawPaw; source local.env macos; popd
  449. ./utils/create-macos-installer.sh
  450. - name: Set sha8 (non-release)
  451. if: startsWith(github.ref, 'refs/tags/') != true
  452. id: slug1
  453. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  454. - name: Set sha8 (release)
  455. if: startsWith(github.ref, 'refs/tags/')
  456. id: slug2
  457. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  458. - name: Set sha8
  459. id: slug
  460. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  461. - name: Rename macOS bundle
  462. run: |
  463. mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.pkg
  464. - uses: actions/upload-artifact@v2
  465. with:
  466. name: ${{ github.event.repository.name }}-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  467. path: |
  468. ${{ github.event.repository.name }}-*.pkg
  469. - uses: softprops/action-gh-release@v1
  470. if: startsWith(github.ref, 'refs/tags/')
  471. with:
  472. tag_name: ${{ github.ref_name }}
  473. name: ${{ github.ref_name }}
  474. draft: false
  475. prerelease: false
  476. files: |
  477. ${{ github.event.repository.name }}-*.pkg
  478. macos-universal:
  479. runs-on: macos-10.15
  480. steps:
  481. - uses: actions/checkout@v2
  482. with:
  483. submodules: recursive
  484. - name: Set up cache
  485. id: cache
  486. uses: actions/cache@v2
  487. with:
  488. path: |
  489. ~/PawPawBuilds
  490. */*.a
  491. bin/*.*/*.dylib
  492. bin/*.*/Contents/MacOS/*
  493. bin/Cardinal
  494. build/Cardinal
  495. build/CardinalFX
  496. build/CardinalSynth
  497. build/plugins
  498. build/rack
  499. carla/build
  500. dpf/build
  501. jucewrapper/build
  502. src/Rack/dep/bin
  503. src/Rack/dep/include
  504. src/Rack/dep/lib
  505. src/Rack/dep/share
  506. src/Rack/dep/jansson-2.12
  507. src/Rack/dep/libarchive-3.4.3
  508. src/Rack/dep/libsamplerate-0.1.9
  509. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  510. src/Rack/dep/zstd-1.4.5
  511. key: macos-universal-v${{ env.CACHE_VERSION }}
  512. - name: Fix up Xcode
  513. run: |
  514. sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
  515. sudo xcode-select -s "/Applications/Xcode_12.3.app"
  516. - name: Build extra dependencies
  517. run: |
  518. ./deps/PawPaw/bootstrap-cardinal.sh macos-universal && ./deps/PawPaw/.cleanup.sh macos-universal
  519. - name: Build macOS universal (base)
  520. run: |
  521. pushd deps/PawPaw; source local.env macos-universal; popd
  522. make features
  523. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
  524. - name: Build macOS universal (AU using juce)
  525. env:
  526. MACOSX_DEPLOYMENT_TARGET: '10.12'
  527. run: |
  528. pushd deps/PawPaw; source local.env macos-universal; popd
  529. git clone --depth=1 -b master https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
  530. mkdir -p jucewrapper/build
  531. 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
  532. mv jucewrapper/build/*_artefacts/Release/AU/*.component bin/
  533. - name: Build macOS universal (packaging)
  534. run: |
  535. pushd deps/PawPaw; source local.env macos-universal; popd
  536. ./utils/create-macos-installer.sh
  537. - name: Set sha8 (non-release)
  538. if: startsWith(github.ref, 'refs/tags/') != true
  539. id: slug1
  540. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  541. - name: Set sha8 (release)
  542. if: startsWith(github.ref, 'refs/tags/')
  543. id: slug2
  544. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  545. - name: Set sha8
  546. id: slug
  547. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  548. - name: Rename macOS bundle
  549. run: |
  550. mv ${{ github.event.repository.name }}-macOS.pkg ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.pkg
  551. - uses: actions/upload-artifact@v2
  552. with:
  553. name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  554. path: |
  555. ${{ github.event.repository.name }}-*.pkg
  556. - uses: softprops/action-gh-release@v1
  557. if: startsWith(github.ref, 'refs/tags/')
  558. with:
  559. tag_name: ${{ github.ref_name }}
  560. name: ${{ github.ref_name }}
  561. draft: false
  562. prerelease: false
  563. files: |
  564. ${{ github.event.repository.name }}-*.pkg
  565. modduo:
  566. runs-on: ubuntu-20.04
  567. steps:
  568. - uses: actions/checkout@v2
  569. with:
  570. submodules: recursive
  571. - name: Set up cache
  572. uses: actions/cache@v2
  573. id: mpb-cache
  574. with:
  575. path: |
  576. ~/mod-workdir
  577. key: modduo-static-v${{ env.CACHE_VERSION }}
  578. - name: Set up dependencies
  579. run: |
  580. sudo apt-get update -qq
  581. 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
  582. sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
  583. - name: Bootstrap toolchain
  584. if: steps.mpb-cache.outputs.cache-hit != 'true'
  585. run: |
  586. git clone --depth=1 https://github.com/moddevices/mod-plugin-builder.git deps/mod-plugin-builder
  587. sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config
  588. $(pwd)/deps/mod-plugin-builder/bootstrap.sh modduo-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduo-static
  589. - name: Build for modduo
  590. run: |
  591. make modduo HEADLESS=true WITH_LTO=true MODDUO=true -j $(nproc)
  592. - name: Set sha8
  593. id: slug
  594. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  595. - name: Pack binaries
  596. run: |
  597. 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)
  598. - uses: actions/upload-artifact@v2
  599. with:
  600. name: ${{ github.event.repository.name }}-modduo-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  601. path: |
  602. *.tar.gz
  603. modduox:
  604. runs-on: ubuntu-20.04
  605. steps:
  606. - uses: actions/checkout@v2
  607. with:
  608. submodules: recursive
  609. - name: Set up cache
  610. uses: actions/cache@v2
  611. id: mpb-cache
  612. with:
  613. path: |
  614. ~/mod-workdir
  615. key: modduox-v${{ env.CACHE_VERSION }}
  616. - name: Set up dependencies
  617. run: |
  618. sudo apt-get update -qq
  619. 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
  620. sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
  621. - name: Bootstrap toolchain
  622. if: steps.mpb-cache.outputs.cache-hit != 'true'
  623. run: |
  624. git clone --depth=1 https://github.com/moddevices/mod-plugin-builder.git deps/mod-plugin-builder
  625. sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config
  626. $(pwd)/deps/mod-plugin-builder/bootstrap.sh modduox-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduox-static
  627. - name: Build for modduox
  628. run: |
  629. make modduox HEADLESS=true WITH_LTO=true -j $(nproc)
  630. - name: Set sha8
  631. id: slug
  632. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  633. - name: Pack binaries
  634. run: |
  635. 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)
  636. - uses: actions/upload-artifact@v2
  637. with:
  638. name: ${{ github.event.repository.name }}-modduox-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  639. path: |
  640. *.tar.gz
  641. moddwarf:
  642. runs-on: ubuntu-20.04
  643. steps:
  644. - uses: actions/checkout@v2
  645. with:
  646. submodules: recursive
  647. - name: Set up cache
  648. uses: actions/cache@v2
  649. id: mpb-cache
  650. with:
  651. path: |
  652. ~/mod-workdir
  653. key: moddwarf-v${{ env.CACHE_VERSION }}
  654. - name: Set up dependencies
  655. run: |
  656. sudo apt-get update -qq
  657. 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
  658. sudo apt-get install -yqq pandoc texlive-latex-recommended texlive-latex-extra
  659. - name: Bootstrap toolchain
  660. if: steps.mpb-cache.outputs.cache-hit != 'true'
  661. run: |
  662. git clone --depth=1 https://github.com/moddevices/mod-plugin-builder.git deps/mod-plugin-builder
  663. sed -i "s/CT_LOG_PROGRESS_BAR=y/CT_LOG_PROGRESS_BAR=n/" deps/mod-plugin-builder/toolchain/*.config
  664. $(pwd)/deps/mod-plugin-builder/bootstrap.sh moddwarf minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh moddwarf
  665. - name: Build for moddwarf
  666. run: |
  667. make moddwarf HEADLESS=true WITH_LTO=true -j $(nproc)
  668. - name: Set sha8
  669. id: slug
  670. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  671. - name: Pack binaries
  672. run: |
  673. 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)
  674. - uses: actions/upload-artifact@v2
  675. with:
  676. name: ${{ github.event.repository.name }}-moddwarf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  677. path: |
  678. *.tar.gz
  679. win32:
  680. runs-on: ubuntu-20.04
  681. steps:
  682. - uses: actions/checkout@v2
  683. with:
  684. submodules: recursive
  685. - name: Set up cache
  686. id: cache
  687. uses: actions/cache@v2
  688. with:
  689. path: |
  690. ~/PawPawBuilds
  691. */*.a
  692. bin/*.*/*.dll
  693. bin/*.vst3/Contents/*/*.vst3
  694. bin/Cardinal.exe
  695. build/Cardinal
  696. build/CardinalFX
  697. build/CardinalSynth
  698. build/plugins
  699. build/rack
  700. carla/build
  701. dpf/build
  702. src/Rack/dep/bin
  703. src/Rack/dep/include
  704. src/Rack/dep/lib
  705. src/Rack/dep/share
  706. src/Rack/dep/jansson-2.12
  707. src/Rack/dep/libarchive-3.4.3
  708. src/Rack/dep/libsamplerate-0.1.9
  709. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  710. src/Rack/dep/zstd-1.4.5
  711. key: win32-v${{ env.CACHE_VERSION }}
  712. - name: Fix GitHub's mess
  713. run: |
  714. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  715. sudo apt-get update -qq
  716. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  717. - name: Set up dependencies
  718. run: |
  719. sudo dpkg --add-architecture i386
  720. sudo apt-get update -qq
  721. sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 qttools5-dev qttools5-dev-tools xvfb
  722. - name: Build extra dependencies
  723. run: |
  724. ./deps/PawPaw/bootstrap-cardinal.sh win32 && ./deps/PawPaw/.cleanup.sh win32
  725. - name: Build win32 cross-compiled (base)
  726. run: |
  727. pushd deps/PawPaw; source local.env win32; popd
  728. make features
  729. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  730. - name: Build win64 cross-compiled (carla)
  731. run: |
  732. pushd deps/PawPaw; source local.env win32; popd
  733. 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)
  734. make -C carla EMBED_TARGET=true TESTING=true dist
  735. make -C carla EMBED_TARGET=true TESTING=true dist
  736. - name: Build win64 cross-compiled (packaging)
  737. run: |
  738. pushd deps/PawPaw; source local.env win32; popd
  739. xvfb-run ./utils/create-windows-installer.sh 32
  740. - name: Set sha8 (non-release)
  741. if: startsWith(github.ref, 'refs/tags/') != true
  742. id: slug1
  743. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  744. - name: Set sha8 (release)
  745. if: startsWith(github.ref, 'refs/tags/')
  746. id: slug2
  747. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  748. - name: Set sha8
  749. id: slug
  750. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  751. - name: Pack binaries
  752. run: |
  753. 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)
  754. - uses: actions/upload-artifact@v2
  755. with:
  756. name: ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  757. path: |
  758. *.exe
  759. *.zip
  760. - uses: softprops/action-gh-release@v1
  761. if: startsWith(github.ref, 'refs/tags/')
  762. with:
  763. tag_name: ${{ github.ref_name }}
  764. name: ${{ github.ref_name }}
  765. draft: false
  766. prerelease: false
  767. files: |
  768. *.exe
  769. *.zip
  770. win64:
  771. runs-on: ubuntu-20.04
  772. steps:
  773. - uses: actions/checkout@v2
  774. with:
  775. submodules: recursive
  776. - name: Set up cache
  777. id: cache
  778. uses: actions/cache@v2
  779. with:
  780. path: |
  781. ~/PawPawBuilds
  782. */*.a
  783. bin/*.*/*.dll
  784. bin/*.vst3/Contents/*/*.vst3
  785. bin/Cardinal.exe
  786. build/Cardinal
  787. build/CardinalFX
  788. build/CardinalSynth
  789. build/plugins
  790. build/rack
  791. carla/build
  792. dpf/build
  793. src/Rack/dep/bin
  794. src/Rack/dep/include
  795. src/Rack/dep/lib
  796. src/Rack/dep/share
  797. src/Rack/dep/jansson-2.12
  798. src/Rack/dep/libarchive-3.4.3
  799. src/Rack/dep/libsamplerate-0.1.9
  800. src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
  801. src/Rack/dep/zstd-1.4.5
  802. key: win64-v${{ env.CACHE_VERSION }}
  803. - name: Fix GitHub's mess
  804. run: |
  805. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  806. sudo apt-get update -qq
  807. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  808. - name: Set up dependencies
  809. run: |
  810. sudo dpkg --add-architecture i386
  811. sudo apt-get update -qq
  812. 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
  813. - name: Build extra dependencies
  814. run: |
  815. ./deps/PawPaw/bootstrap-cardinal.sh win64 && ./deps/PawPaw/.cleanup.sh win64
  816. - name: Build win64 cross-compiled (base)
  817. run: |
  818. pushd deps/PawPaw; source local.env win64; popd
  819. make features
  820. make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
  821. - name: Build win64 cross-compiled (carla)
  822. run: |
  823. pushd deps/PawPaw; source local.env win64; popd
  824. 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)
  825. make -C carla EMBED_TARGET=true TESTING=true dist
  826. make -C carla EMBED_TARGET=true TESTING=true dist
  827. - name: Build win64 cross-compiled (packaging)
  828. run: |
  829. pushd deps/PawPaw; source local.env win64; popd
  830. xvfb-run ./utils/create-windows-installer.sh 64
  831. - name: Set sha8 (non-release)
  832. if: startsWith(github.ref, 'refs/tags/') != true
  833. id: slug1
  834. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  835. - name: Set sha8 (release)
  836. if: startsWith(github.ref, 'refs/tags/')
  837. id: slug2
  838. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  839. - name: Set sha8
  840. id: slug
  841. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  842. - name: Pack binaries
  843. run: |
  844. 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)
  845. - uses: actions/upload-artifact@v2
  846. with:
  847. name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  848. path: |
  849. *.exe
  850. *.zip
  851. - uses: softprops/action-gh-release@v1
  852. if: startsWith(github.ref, 'refs/tags/')
  853. with:
  854. tag_name: ${{ github.ref_name }}
  855. name: ${{ github.ref_name }}
  856. draft: false
  857. prerelease: false
  858. files: |
  859. *.exe
  860. *.zip
  861. source-tarball:
  862. runs-on: ubuntu-20.04
  863. steps:
  864. - uses: actions/checkout@v2
  865. with:
  866. submodules: recursive
  867. - name: Set up dependencies
  868. run: |
  869. sudo apt-get update -qq
  870. sudo apt-get install -yqq liblo-dev
  871. - name: Create source tarball
  872. run: |
  873. make HEADLESS=true tarball
  874. make HEADLESS=true tarball+deps
  875. - name: Set sha8 (non-release)
  876. if: startsWith(github.ref, 'refs/tags/') != true
  877. id: slug1
  878. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  879. - name: Set sha8 (release)
  880. if: startsWith(github.ref, 'refs/tags/')
  881. id: slug2
  882. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  883. - name: Set sha8
  884. id: slug
  885. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  886. - uses: actions/upload-artifact@v2
  887. with:
  888. name: ${{ github.event.repository.name }}-source-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  889. path: |
  890. /home/runner/cardinal*.tar.xz
  891. /home/runner/*/cardinal*.tar.xz
  892. /home/runner/*/*/cardinal*.tar.xz
  893. - uses: softprops/action-gh-release@v1
  894. if: startsWith(github.ref, 'refs/tags/')
  895. with:
  896. tag_name: ${{ github.ref_name }}
  897. name: ${{ github.ref_name }}
  898. draft: false
  899. prerelease: false
  900. files: |
  901. /home/runner/cardinal*.tar.xz
  902. /home/runner/*/cardinal*.tar.xz
  903. /home/runner/*/*/cardinal*.tar.xz
  904. plugin-validation:
  905. runs-on: ubuntu-20.04
  906. steps:
  907. - uses: actions/checkout@v2
  908. with:
  909. submodules: recursive
  910. - name: Set up dependencies
  911. run: |
  912. # custom repos
  913. wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb
  914. sudo dpkg -i kxstudio-repos_10.0.3_all.deb
  915. sudo apt-get update -qq
  916. # build-deps
  917. sudo apt-get install -yqq liblo-dev
  918. # runtime testing
  919. sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint valgrind
  920. - name: Build Cardinal
  921. env:
  922. CFLAGS: -g
  923. CXXFLAGS: -g -DDPF_ABORT_ON_ERROR
  924. LDFLAGS: -static-libgcc -static-libstdc++
  925. run: |
  926. make HEADLESS=true features
  927. make HEADLESS=true NOOPT=true NOPLUGINS=true STATIC_BUILD=true SKIP_STRIPPING=true -j $(nproc)
  928. - name: Validate LV2 ttl syntax
  929. run: |
  930. lv2_validate \
  931. /usr/lib/lv2/mod.lv2/*.ttl \
  932. /usr/lib/lv2/kx-meta/*.ttl \
  933. /usr/lib/lv2/kx-control-input-port-change-request.lv2/*.ttl \
  934. /usr/lib/lv2/kx-programs.lv2/*.ttl \
  935. ./bin/*.lv2/*.ttl
  936. - name: Validate LV2 metadata and binaries
  937. run: |
  938. export LV2_PATH=/tmp/lv2-path
  939. mkdir ${LV2_PATH}
  940. cp -r bin/CardinalFX.lv2 bin/CardinalSynth.lv2 \
  941. /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 \
  942. ${LV2_PATH}
  943. lv2lint -s lv2_generate_ttl -l ld-linux-x86-64.so.2 -M nopack $(lv2ls)
  944. - name: Test LV2 plugin
  945. run: |
  946. export LV2_PATH=/tmp/lv2-path
  947. for p in $(lv2ls); do \
  948. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  949. valgrind \
  950. --error-exitcode=255 \
  951. --leak-check=no \
  952. --track-origins=yes \
  953. --suppressions=./dpf/utils/valgrind-dpf.supp \
  954. /usr/lib/carla/carla-bridge-native lv2 "" ${p} 1>/dev/null; \
  955. done
  956. - name: Test VST2 plugin
  957. run: |
  958. for p in $(ls bin/*.vst/*.so); do \
  959. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  960. valgrind \
  961. --error-exitcode=255 \
  962. --leak-check=no \
  963. --track-origins=yes \
  964. --suppressions=./dpf/utils/valgrind-dpf.supp \
  965. /usr/lib/carla/carla-bridge-native vst2 ./${p} "" 1>/dev/null; \
  966. done
  967. - name: Test VST3 plugin
  968. run: |
  969. for p in $(ls bin/ | grep vst3); do \
  970. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  971. valgrind \
  972. --error-exitcode=255 \
  973. --leak-check=no \
  974. --track-origins=yes \
  975. --suppressions=./dpf/utils/valgrind-dpf.supp \
  976. /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} "" 1>/dev/null; \
  977. done