Collection of DPF-based plugins for packaging
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.

531 lines
24KB

  1. name: build
  2. on:
  3. push:
  4. branches:
  5. - '*'
  6. pull_request:
  7. branches:
  8. - '*'
  9. env:
  10. DEBIAN_FRONTEND: noninteractive
  11. HOMEBREW_NO_AUTO_UPDATE: 1
  12. jobs:
  13. linux-arm64:
  14. runs-on: ubuntu-20.04
  15. steps:
  16. - uses: actions/checkout@v3
  17. with:
  18. submodules: recursive
  19. - name: Fix GitHub's mess
  20. run: |
  21. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  22. sudo apt-get update -qq
  23. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  24. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  25. - name: Set up dependencies
  26. run: |
  27. sudo dpkg --add-architecture arm64
  28. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  29. 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
  30. 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
  31. 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
  32. sudo apt-get update -qq
  33. sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
  34. - name: Build linux arm64 cross-compiled
  35. env:
  36. CC: aarch64-linux-gnu-gcc
  37. CXX: aarch64-linux-gnu-g++
  38. LDFLAGS: -static-libgcc -static-libstdc++
  39. PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
  40. run: |
  41. make features
  42. make WITH_LTO=true -j $(nproc)
  43. - name: Set sha8
  44. id: slug
  45. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  46. - uses: actions/upload-artifact@v3
  47. with:
  48. name: ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || env.SHA8 }}
  49. path: |
  50. bin/*
  51. - name: Create release archive
  52. if: startsWith(github.ref, 'refs/tags/')
  53. run: |
  54. cp utils/README-Linux.txt bin/README.txt
  55. tar chJf ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-arm64.tar.xz \
  56. --transform="s,^bin/,${{ github.event.repository.name }}-${{ github.ref_name }}/," \
  57. bin/*
  58. - uses: softprops/action-gh-release@v1
  59. if: startsWith(github.ref, 'refs/tags/')
  60. with:
  61. tag_name: ${{ github.ref_name }}
  62. name: ${{ github.ref_name }}
  63. draft: false
  64. prerelease: false
  65. files: |
  66. ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-arm64.tar.xz
  67. linux-armhf:
  68. runs-on: ubuntu-20.04
  69. steps:
  70. - uses: actions/checkout@v3
  71. with:
  72. submodules: recursive
  73. - name: Fix GitHub's mess
  74. run: |
  75. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  76. sudo apt-get update -qq
  77. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  78. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  79. - name: Set up dependencies
  80. run: |
  81. sudo dpkg --add-architecture armhf
  82. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  83. 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
  84. 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
  85. 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
  86. sudo apt-get update -qq
  87. sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
  88. - name: Build linux armhf cross-compiled
  89. env:
  90. CC: arm-linux-gnueabihf-gcc
  91. CXX: arm-linux-gnueabihf-g++
  92. LDFLAGS: -static-libgcc -static-libstdc++
  93. PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
  94. run: |
  95. make features
  96. make WITH_LTO=true -j $(nproc)
  97. - name: Set sha8
  98. id: slug
  99. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  100. - uses: actions/upload-artifact@v3
  101. with:
  102. name: ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || env.SHA8 }}
  103. path: |
  104. bin/*
  105. - name: Create release archive
  106. if: startsWith(github.ref, 'refs/tags/')
  107. run: |
  108. cp utils/README-Linux.txt bin/README.txt
  109. tar chJf ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-armhf.tar.xz \
  110. --transform="s,^bin/,${{ github.event.repository.name }}-${{ github.ref_name }}/," \
  111. bin/*
  112. - uses: softprops/action-gh-release@v1
  113. if: startsWith(github.ref, 'refs/tags/')
  114. with:
  115. tag_name: ${{ github.ref_name }}
  116. name: ${{ github.ref_name }}
  117. draft: false
  118. prerelease: false
  119. files: |
  120. ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-armhf.tar.xz
  121. linux-i686:
  122. runs-on: ubuntu-20.04
  123. steps:
  124. - uses: actions/checkout@v3
  125. with:
  126. submodules: recursive
  127. - name: Fix GitHub's mess
  128. run: |
  129. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  130. sudo apt-get update -qq
  131. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  132. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  133. - name: Set up dependencies
  134. run: |
  135. sudo dpkg --add-architecture i386
  136. sudo apt-get update -qq
  137. sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libcairo2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
  138. - name: Build linux i686
  139. env:
  140. CC: i686-linux-gnu-gcc
  141. CXX: i686-linux-gnu-g++
  142. CFLAGS: -m32
  143. CXXFLAGS: -m32
  144. LDFLAGS: -m32 -static-libgcc -static-libstdc++
  145. PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
  146. run: |
  147. make features
  148. make WITH_LTO=true -j $(nproc)
  149. - name: Set sha8
  150. id: slug
  151. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  152. - uses: actions/upload-artifact@v3
  153. with:
  154. name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || env.SHA8 }}
  155. path: |
  156. bin/*
  157. - name: Create release archive
  158. if: startsWith(github.ref, 'refs/tags/')
  159. run: |
  160. cp utils/README-Linux.txt bin/README.txt
  161. tar chJf ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-i686.tar.xz \
  162. --transform="s,^bin/,${{ github.event.repository.name }}-${{ github.ref_name }}/," \
  163. bin/*
  164. - uses: softprops/action-gh-release@v1
  165. if: startsWith(github.ref, 'refs/tags/')
  166. with:
  167. tag_name: ${{ github.ref_name }}
  168. name: ${{ github.ref_name }}
  169. draft: false
  170. prerelease: false
  171. files: |
  172. ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-i686.tar.xz
  173. linux-riscv64:
  174. runs-on: ubuntu-20.04
  175. steps:
  176. - uses: actions/checkout@v3
  177. with:
  178. submodules: recursive
  179. - name: Fix GitHub's mess
  180. run: |
  181. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  182. sudo apt-get update -qq
  183. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  184. sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  185. - name: Set up dependencies
  186. run: |
  187. sudo dpkg --add-architecture riscv64
  188. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  189. echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
  190. echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
  191. echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
  192. sudo apt-get update -qq
  193. sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libcairo2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 liblo-dev:riscv64 libpulse-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 qemu-user-static
  194. - name: Build linux riscv64 cross-compiled
  195. env:
  196. CC: riscv64-linux-gnu-gcc
  197. CXX: riscv64-linux-gnu-g++
  198. LDFLAGS: -static-libgcc -static-libstdc++
  199. PKG_CONFIG_PATH: /usr/lib/riscv64-linux-gnu/pkgconfig
  200. run: |
  201. make features
  202. make WITH_LTO=true -j $(nproc)
  203. - name: Set sha8
  204. id: slug
  205. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  206. - uses: actions/upload-artifact@v3
  207. with:
  208. name: ${{ github.event.repository.name }}-linux-riscv64-${{ github.event.pull_request.number || env.SHA8 }}
  209. path: |
  210. bin/*
  211. - name: Create release archive
  212. if: startsWith(github.ref, 'refs/tags/')
  213. run: |
  214. cp utils/README-Linux.txt bin/README.txt
  215. tar chJf ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-riscv64.tar.xz \
  216. --transform="s,^bin/,${{ github.event.repository.name }}-${{ github.ref_name }}/," \
  217. bin/*
  218. - uses: softprops/action-gh-release@v1
  219. if: startsWith(github.ref, 'refs/tags/')
  220. with:
  221. tag_name: ${{ github.ref_name }}
  222. name: ${{ github.ref_name }}
  223. draft: false
  224. prerelease: false
  225. files: |
  226. ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-riscv64.tar.xz
  227. linux-x86_64:
  228. runs-on: ubuntu-20.04
  229. steps:
  230. - uses: actions/checkout@v3
  231. with:
  232. submodules: recursive
  233. - name: Set up dependencies
  234. run: |
  235. sudo apt-get update -qq
  236. sudo apt-get install -yqq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
  237. - name: Build linux x86_64
  238. env:
  239. LDFLAGS: -static-libgcc -static-libstdc++
  240. run: |
  241. make features
  242. make WITH_LTO=true -j $(nproc)
  243. - name: Set sha8
  244. id: slug
  245. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  246. - uses: actions/upload-artifact@v3
  247. with:
  248. name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.SHA8 }}
  249. path: |
  250. bin/*
  251. - name: Create release archive
  252. if: startsWith(github.ref, 'refs/tags/')
  253. run: |
  254. cp utils/README-Linux.txt bin/README.txt
  255. tar chJf ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-x86_64.tar.xz \
  256. --transform="s,^bin/,${{ github.event.repository.name }}-${{ github.ref_name }}/," \
  257. bin/*
  258. - uses: softprops/action-gh-release@v1
  259. if: startsWith(github.ref, 'refs/tags/')
  260. with:
  261. tag_name: ${{ github.ref_name }}
  262. name: ${{ github.ref_name }}
  263. draft: false
  264. prerelease: false
  265. files: |
  266. ${{ github.event.repository.name }}-${{ github.ref_name }}-linux-x86_64.tar.xz
  267. macos-universal:
  268. runs-on: macos-11
  269. steps:
  270. - uses: actions/checkout@v3
  271. with:
  272. submodules: recursive
  273. - name: Build macOS universal
  274. env:
  275. CFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
  276. CXXFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
  277. LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12
  278. run: |
  279. make features
  280. make NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
  281. ./dpf/utils/package-osx-bundles.sh
  282. - name: Set sha8
  283. id: slug
  284. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  285. - uses: actions/upload-artifact@v3
  286. with:
  287. name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || env.SHA8 }}
  288. path: |
  289. *-macOS.pkg
  290. bin/*
  291. !bin/*-ladspa.dylib
  292. !bin/*-dssi.dylib
  293. !bin/lv2
  294. !bin/vst2
  295. !bin/vst3
  296. - name: Create release archive
  297. if: startsWith(github.ref, 'refs/tags/')
  298. run: |
  299. mv *-macOS.pkg ${{ github.event.repository.name }}-${{ github.ref_name }}-macOS.pkg
  300. - uses: softprops/action-gh-release@v1
  301. if: startsWith(github.ref, 'refs/tags/')
  302. with:
  303. tag_name: ${{ github.ref_name }}
  304. name: ${{ github.ref_name }}
  305. draft: false
  306. prerelease: false
  307. files: |
  308. ${{ github.event.repository.name }}-${{ github.ref_name }}-macOS.pkg
  309. win32:
  310. runs-on: ubuntu-20.04
  311. steps:
  312. - uses: actions/checkout@v3
  313. with:
  314. submodules: recursive
  315. - name: Fix GitHub's mess
  316. run: |
  317. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  318. sudo apt-get update -qq
  319. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  320. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  321. - name: Set up dependencies
  322. run: |
  323. sudo dpkg --add-architecture i386
  324. sudo apt-get update -qq
  325. sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
  326. - name: Build win32 cross-compiled
  327. env:
  328. CC: i686-w64-mingw32-gcc
  329. CXX: i686-w64-mingw32-g++
  330. EXE_WRAPPER: wine
  331. PKG_CONFIG: "false"
  332. WINEDEBUG: "-all"
  333. run: |
  334. make features
  335. make WITH_LTO=true -j $(nproc)
  336. - name: Set sha8
  337. id: slug
  338. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  339. - uses: actions/upload-artifact@v3
  340. with:
  341. name: ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || env.SHA8 }}
  342. path: |
  343. bin/*
  344. !bin/*-ladspa.dll
  345. !bin/*-dssi*
  346. - name: Create release archive
  347. if: startsWith(github.ref, 'refs/tags/')
  348. run: |
  349. cp utils/README-Windows.txt bin/README.txt
  350. mv bin ${{ github.event.repository.name }}-${{ github.ref_name }}
  351. zip -r -9 build.zip ${{ github.event.repository.name }}-${{ github.ref_name }}/* -x ${{ github.event.repository.name }}-${{ github.ref_name }}/*-ladspa.dll -x ${{ github.event.repository.name }}-${{ github.ref_name }}/*-dssi.dll
  352. mv build.zip ${{ github.event.repository.name }}-${{ github.ref_name }}-win32.zip
  353. - uses: softprops/action-gh-release@v1
  354. if: startsWith(github.ref, 'refs/tags/')
  355. with:
  356. tag_name: ${{ github.ref_name }}
  357. name: ${{ github.ref_name }}
  358. draft: false
  359. prerelease: false
  360. files: |
  361. ${{ github.event.repository.name }}-${{ github.ref_name }}-win32.zip
  362. win64:
  363. runs-on: ubuntu-20.04
  364. steps:
  365. - uses: actions/checkout@v3
  366. with:
  367. submodules: recursive
  368. - name: Fix GitHub's mess
  369. run: |
  370. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  371. sudo apt-get update -qq
  372. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  373. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  374. - name: Set up dependencies
  375. run: |
  376. sudo apt-get update -qq
  377. sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
  378. - name: Build win64 cross-compiled
  379. env:
  380. CC: x86_64-w64-mingw32-gcc
  381. CXX: x86_64-w64-mingw32-g++
  382. EXE_WRAPPER: wine
  383. PKG_CONFIG: "false"
  384. WINEDEBUG: "-all"
  385. run: |
  386. make features
  387. make WITH_LTO=true -j $(nproc)
  388. - name: Set sha8
  389. id: slug
  390. run: echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
  391. - uses: actions/upload-artifact@v3
  392. with:
  393. name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.SHA8 }}
  394. path: |
  395. bin/*
  396. !bin/*-ladspa.dll
  397. !bin/*-dssi*
  398. - name: Create release archive
  399. if: startsWith(github.ref, 'refs/tags/')
  400. run: |
  401. cp utils/README-Windows.txt bin/README.txt
  402. mv bin ${{ github.event.repository.name }}-${{ github.ref_name }}
  403. zip -r -9 build.zip ${{ github.event.repository.name }}-${{ github.ref_name }}/* -x ${{ github.event.repository.name }}-${{ github.ref_name }}/*-ladspa.dll -x ${{ github.event.repository.name }}-${{ github.ref_name }}/*-dssi.dll
  404. mv build.zip ${{ github.event.repository.name }}-${{ github.ref_name }}-win64.zip
  405. - uses: softprops/action-gh-release@v1
  406. if: startsWith(github.ref, 'refs/tags/')
  407. with:
  408. tag_name: ${{ github.ref_name }}
  409. name: ${{ github.ref_name }}
  410. draft: false
  411. prerelease: false
  412. files: |
  413. ${{ github.event.repository.name }}-${{ github.ref_name }}-win64.zip
  414. plugin-validation:
  415. runs-on: ubuntu-20.04
  416. steps:
  417. - uses: actions/checkout@v3
  418. with:
  419. submodules: recursive
  420. - name: Set up dependencies
  421. run: |
  422. # custom repos
  423. wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.1.0_all.deb
  424. sudo dpkg -i kxstudio-repos_11.1.0_all.deb
  425. sudo apt-get update -qq
  426. # build-deps
  427. sudo apt-get install -yqq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
  428. # runtime testing
  429. sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint kxstudio-lv2-extensions mod-lv2-extensions valgrind xvfb
  430. - name: Build plugins
  431. env:
  432. CFLAGS: -g
  433. CXXFLAGS: -g -DDPF_ABORT_ON_ERROR -DDPF_RUNTIME_TESTING
  434. LDFLAGS: -static-libgcc -static-libstdc++
  435. run: |
  436. make features
  437. make NOOPT=true SKIP_STRIPPING=true -j $(nproc)
  438. - name: Validate LV2 ttl syntax
  439. run: |
  440. lv2_validate \
  441. /usr/lib/lv2/mod.lv2/*.ttl \
  442. /usr/lib/lv2/kx-meta/*.ttl \
  443. /usr/lib/lv2/kx-control-input-port-change-request.lv2/*.ttl \
  444. /usr/lib/lv2/kx-programs.lv2/*.ttl \
  445. ./bin/*.lv2/*.ttl
  446. - name: Validate LV2 metadata and binaries
  447. run: |
  448. export LV2_PATH=/tmp/lv2-path
  449. mkdir ${LV2_PATH}
  450. cp -r bin/*.lv2 \
  451. /usr/lib/lv2/{atom,buf-size,core,data-access,kx-control-input-port-change-request,kx-programs,instance-access,midi,parameters,port-groups,port-props,options,patch,presets,resize-port,state,time,ui,units,urid,worker}.lv2 \
  452. ${LV2_PATH}
  453. lv2lint -s lv2_generate_ttl -l ld-linux-x86-64.so.2 -M nopack $(lv2ls)
  454. - name: Test LADSPA plugins
  455. run: |
  456. for p in $(ls bin/ | grep ladspa.so); do \
  457. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  458. valgrind \
  459. --error-exitcode=255 \
  460. --leak-check=full \
  461. --track-origins=yes \
  462. --suppressions=./dpf/utils/valgrind-dpf.supp \
  463. /usr/lib/carla/carla-bridge-native ladspa ./bin/${p} "" 1>/dev/null; \
  464. done
  465. - name: Test DSSI plugins
  466. run: |
  467. for p in $(ls bin/ | grep dssi.so); do \
  468. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  469. valgrind \
  470. --error-exitcode=255 \
  471. --leak-check=full \
  472. --track-origins=yes \
  473. --suppressions=./dpf/utils/valgrind-dpf.supp \
  474. /usr/lib/carla/carla-bridge-native dssi ./bin/${p} "" 1>/dev/null; \
  475. done
  476. - name: Test LV2 plugins
  477. run: |
  478. export LV2_PATH=/tmp/lv2-path
  479. for p in $(lv2ls); do \
  480. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  481. valgrind \
  482. --error-exitcode=255 \
  483. --leak-check=full \
  484. --track-origins=yes \
  485. --suppressions=./dpf/utils/valgrind-dpf.supp \
  486. /usr/lib/carla/carla-bridge-native lv2 "" ${p} 1>/dev/null; \
  487. done
  488. - name: Test VST2 plugins
  489. run: |
  490. for p in $(find bin/ | grep -e vst.so -e '.*\.vst/.*\.so'); do \
  491. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  492. valgrind \
  493. --error-exitcode=255 \
  494. --leak-check=full \
  495. --track-origins=yes \
  496. --suppressions=./dpf/utils/valgrind-dpf.supp \
  497. /usr/lib/carla/carla-bridge-native vst2 ./${p} "" 1>/dev/null; \
  498. done
  499. - name: Test VST3 plugins
  500. run: |
  501. for p in $(ls bin/ | grep vst3); do \
  502. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  503. valgrind \
  504. --error-exitcode=255 \
  505. --leak-check=full \
  506. --track-origins=yes \
  507. --suppressions=./dpf/utils/valgrind-dpf.supp \
  508. /usr/lib/carla/carla-bridge-native vst3 ./bin/${p} "" 1>/dev/null; \
  509. done
  510. - name: Test CLAP plugins
  511. run: |
  512. for p in $(find bin/ -type f | grep '.*\.clap$'); do \
  513. env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
  514. valgrind \
  515. --error-exitcode=255 \
  516. --leak-check=full \
  517. --track-origins=yes \
  518. --suppressions=./dpf/utils/valgrind-dpf.supp \
  519. /usr/lib/carla/carla-bridge-native clap ./${p} "" 1>/dev/null; \
  520. done