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.

510 lines
21KB

  1. name: build
  2. on:
  3. push:
  4. env:
  5. CACHE_VERSION: 1
  6. DEBIAN_FRONTEND: noninteractive
  7. DESTDIR: /tmp/destdir
  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. - name: Set up cache
  16. id: cache
  17. uses: actions/cache@v2
  18. with:
  19. path: |
  20. build
  21. key: linux-arm64-v${{ env.CACHE_VERSION }}
  22. - name: Fix GitHub's mess
  23. run: |
  24. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  25. sudo apt-get update -qq
  26. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  27. - name: Set up dependencies
  28. run: |
  29. sudo dpkg --add-architecture arm64
  30. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  31. 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
  32. 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
  33. 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
  34. sudo apt-get update -qq
  35. sudo apt-get install -yqq build-essential meson
  36. sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libfftw3-dev:arm64 libfreetype6-dev:arm64 libgl1-mesa-dev:arm64 libx11-dev:arm64 libxcomposite-dev:arm64 libxcursor-dev:arm64 libxrender-dev:arm64 qemu-user-static
  37. - name: Build linux arm64 cross-compiled
  38. env:
  39. AR: aarch64-linux-gnu-ar
  40. CC: aarch64-linux-gnu-gcc
  41. CXX: aarch64-linux-gnu-g++
  42. LD: aarch64-linux-gnu-ld
  43. NM: aarch64-linux-gnu-nm
  44. STRIP: aarch64-linux-gnu-strip
  45. LDFLAGS: -static-libgcc -static-libstdc++
  46. PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
  47. run: |
  48. meson build --buildtype=release --prefix=/usr
  49. ninja -C build
  50. - name: Install linux armhf
  51. run: |
  52. ninja -C build install
  53. - name: Set sha8 (non-release)
  54. if: startsWith(github.ref, 'refs/tags/') != true
  55. id: slug1
  56. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  57. - name: Set sha8 (release)
  58. if: startsWith(github.ref, 'refs/tags/')
  59. id: slug2
  60. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  61. - name: Set sha8
  62. id: slug
  63. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  64. - name: Pack binaries
  65. run: |
  66. tar czf ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  67. - uses: actions/upload-artifact@v2
  68. with:
  69. name: ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  70. path: |
  71. *.tar.gz
  72. - uses: softprops/action-gh-release@v1
  73. if: startsWith(github.ref, 'refs/tags/')
  74. with:
  75. tag_name: ${{ github.ref_name }}
  76. name: ${{ github.ref_name }}
  77. draft: false
  78. prerelease: false
  79. files: |
  80. *.tar.gz
  81. linux-armhf:
  82. runs-on: ubuntu-20.04
  83. steps:
  84. - uses: actions/checkout@v2
  85. - name: Set up cache
  86. id: cache
  87. uses: actions/cache@v2
  88. with:
  89. path: |
  90. build
  91. key: linux-armhf-v${{ env.CACHE_VERSION }}
  92. - name: Fix GitHub's mess
  93. run: |
  94. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  95. sudo apt-get update -qq
  96. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  97. - name: Set up dependencies
  98. run: |
  99. sudo dpkg --add-architecture armhf
  100. sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
  101. 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
  102. 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
  103. 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
  104. sudo apt-get update -qq
  105. sudo apt-get install -yqq build-essential meson
  106. sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libfftw3-dev:armhf libfreetype6-dev:armhf libgl1-mesa-dev:armhf libx11-dev:armhf libxcomposite-dev:armhf libxcursor-dev:armhf libxrender-dev:armhf qemu-user-static
  107. - name: Build linux armhf cross-compiled
  108. env:
  109. AR: arm-linux-gnueabihf-ar
  110. CC: arm-linux-gnueabihf-gcc
  111. CXX: arm-linux-gnueabihf-g++
  112. LD: arm-linux-gnueabihf-ld
  113. NM: arm-linux-gnueabihf-nm
  114. STRIP: arm-linux-gnueabihf-strip
  115. CFLAGS: -mfpu=neon-vfpv4 -mfloat-abi=hard
  116. CXXFLAGS: -mfpu=neon-vfpv4 -mfloat-abi=hard
  117. LDFLAGS: -static-libgcc -static-libstdc++
  118. PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
  119. run: |
  120. meson build --buildtype=release --prefix=/usr
  121. ninja -C build
  122. - name: Install linux armhf
  123. run: |
  124. ninja -C build install
  125. - name: Set sha8 (non-release)
  126. if: startsWith(github.ref, 'refs/tags/') != true
  127. id: slug1
  128. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  129. - name: Set sha8 (release)
  130. if: startsWith(github.ref, 'refs/tags/')
  131. id: slug2
  132. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  133. - name: Set sha8
  134. id: slug
  135. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  136. - name: Pack binaries
  137. run: |
  138. tar czf ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  139. - uses: actions/upload-artifact@v2
  140. with:
  141. name: ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  142. path: |
  143. *.tar.gz
  144. - uses: softprops/action-gh-release@v1
  145. if: startsWith(github.ref, 'refs/tags/')
  146. with:
  147. tag_name: ${{ github.ref_name }}
  148. name: ${{ github.ref_name }}
  149. draft: false
  150. prerelease: false
  151. files: |
  152. *.tar.gz
  153. linux-i686:
  154. runs-on: ubuntu-20.04
  155. steps:
  156. - uses: actions/checkout@v2
  157. - name: Set up cache
  158. id: cache
  159. uses: actions/cache@v2
  160. with:
  161. path: |
  162. build
  163. key: linux-i686-v${{ env.CACHE_VERSION }}
  164. - name: Fix GitHub's mess
  165. run: |
  166. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  167. sudo apt-get update -qq
  168. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  169. - name: Set up dependencies
  170. run: |
  171. sudo dpkg --add-architecture i386
  172. sudo apt-get update -qq
  173. sudo apt-get install -yqq build-essential meson
  174. sudo apt-get install -yqq g++-multilib libasound2-dev:i386 libfftw3-dev:i386 libfreetype6-dev:i386 libgl1-mesa-dev:i386 libx11-dev:i386 libxcomposite-dev:i386 libxcursor-dev:i386 libxrender-dev:i386
  175. - name: Build linux i686
  176. env:
  177. CFLAGS: -m32
  178. CXXFLAGS: -m32
  179. LDFLAGS: -static-libgcc -static-libstdc++ -m32
  180. PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
  181. run: |
  182. meson build --buildtype=release --prefix=/usr
  183. ninja -C build
  184. - name: Install linux i686
  185. run: |
  186. ninja -C build install
  187. - name: Set sha8 (non-release)
  188. if: startsWith(github.ref, 'refs/tags/') != true
  189. id: slug1
  190. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  191. - name: Set sha8 (release)
  192. if: startsWith(github.ref, 'refs/tags/')
  193. id: slug2
  194. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  195. - name: Set sha8
  196. id: slug
  197. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  198. - name: Pack binaries
  199. run: |
  200. tar czf ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  201. - uses: actions/upload-artifact@v2
  202. with:
  203. name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  204. path: |
  205. *.tar.gz
  206. - uses: softprops/action-gh-release@v1
  207. if: startsWith(github.ref, 'refs/tags/')
  208. with:
  209. tag_name: ${{ github.ref_name }}
  210. name: ${{ github.ref_name }}
  211. draft: false
  212. prerelease: false
  213. files: |
  214. *.tar.gz
  215. linux-x86_64:
  216. runs-on: ubuntu-20.04
  217. steps:
  218. - uses: actions/checkout@v2
  219. - name: Set up cache
  220. id: cache
  221. uses: actions/cache@v2
  222. with:
  223. path: |
  224. build
  225. key: linux-x86_64-v${{ env.CACHE_VERSION }}
  226. - name: Set up dependencies
  227. run: |
  228. sudo apt-get update -qq
  229. sudo apt-get install -yqq build-essential meson
  230. sudo apt-get install -yqq libasound2-dev libfftw3-dev libfreetype6-dev libgl1-mesa-dev libx11-dev libxcomposite-dev libxcursor-dev libxrender-dev
  231. - name: Build linux x86_64
  232. env:
  233. LDFLAGS: -static-libgcc -static-libstdc++
  234. run: |
  235. meson build --buildtype=release --prefix=/usr
  236. ninja -C build
  237. - name: Install linux x86_64
  238. run: |
  239. ninja -C build install
  240. - name: Set sha8 (non-release)
  241. if: startsWith(github.ref, 'refs/tags/') != true
  242. id: slug1
  243. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  244. - name: Set sha8 (release)
  245. if: startsWith(github.ref, 'refs/tags/')
  246. id: slug2
  247. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  248. - name: Set sha8
  249. id: slug
  250. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  251. - name: Pack binaries
  252. run: |
  253. tar czf ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  254. - uses: actions/upload-artifact@v2
  255. with:
  256. name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  257. path: |
  258. *.tar.gz
  259. - uses: softprops/action-gh-release@v1
  260. if: startsWith(github.ref, 'refs/tags/')
  261. with:
  262. tag_name: ${{ github.ref_name }}
  263. name: ${{ github.ref_name }}
  264. draft: false
  265. prerelease: false
  266. files: |
  267. *.tar.gz
  268. linux-x86_64-debug:
  269. runs-on: ubuntu-20.04
  270. steps:
  271. - uses: actions/checkout@v2
  272. - name: Set up dependencies
  273. run: |
  274. sudo apt-get update -qq
  275. sudo apt-get install -yqq build-essential meson
  276. sudo apt-get install -yqq libasound2-dev libfftw3-dev libfreetype6-dev libgl1-mesa-dev libx11-dev libxcomposite-dev libxcursor-dev libxrender-dev
  277. - name: Build linux x86_64 (debug)
  278. env:
  279. LDFLAGS: -static-libgcc -static-libstdc++
  280. run: |
  281. meson build --buildtype=debug --prefix=/usr
  282. ninja -C build
  283. - name: Install linux x86_64
  284. run: |
  285. ninja -C build install (debug)
  286. - name: Set sha8
  287. id: slug
  288. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  289. - name: Pack binaries
  290. run: |
  291. tar czf ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  292. - uses: actions/upload-artifact@v2
  293. with:
  294. name: ${{ github.event.repository.name }}-linux-x86_64-debug-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  295. path: |
  296. *.tar.gz
  297. linux-x86_64-embed:
  298. runs-on: ubuntu-20.04
  299. steps:
  300. - uses: actions/checkout@v2
  301. - name: Set up dependencies
  302. run: |
  303. sudo apt-get update -qq
  304. sudo apt-get install -yqq build-essential meson
  305. sudo apt-get install -yqq libasound2-dev libfftw3-dev
  306. - name: Build linux x86_64 (embed)
  307. run: |
  308. meson build --buildtype=release --prefix=/usr -Dlinux-embed=true
  309. ninja -C build
  310. macos-intel:
  311. runs-on: macos-10.15
  312. steps:
  313. - uses: actions/checkout@v2
  314. - name: Set up cache
  315. id: cache
  316. uses: actions/cache@v2
  317. with:
  318. path: |
  319. build
  320. key: macos-intel-v${{ env.CACHE_VERSION }}
  321. - name: Set up dependencies
  322. run: |
  323. brew install meson
  324. - name: Build macOS intel
  325. env:
  326. CFLAGS: -arch x86_64 -mmacosx-version-min=10.8 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_8 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_8
  327. CXXFLAGS: -arch x86_64 -mmacosx-version-min=10.8 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_8 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_8
  328. LDFLAGS: -arch x86_64 -mmacosx-version-min=10.8 -stdlib=libc++
  329. run: |
  330. meson build --buildtype=release --prefix=/usr
  331. ninja -C build
  332. - name: Install macOS intel
  333. run: |
  334. ninja -C build install
  335. - name: Set sha8 (non-release)
  336. if: startsWith(github.ref, 'refs/tags/') != true
  337. id: slug1
  338. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  339. - name: Set sha8 (release)
  340. if: startsWith(github.ref, 'refs/tags/')
  341. id: slug2
  342. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  343. - name: Set sha8
  344. id: slug
  345. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  346. - name: Pack binaries
  347. run: |
  348. tar czf ${{ github.event.repository.name }}-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  349. - uses: actions/upload-artifact@v2
  350. with:
  351. name: ${{ github.event.repository.name }}-macOS-intel-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  352. path: |
  353. *.tar.gz
  354. macos-universal:
  355. runs-on: macos-10.15
  356. steps:
  357. - uses: actions/checkout@v2
  358. - name: Set up cache
  359. id: cache
  360. uses: actions/cache@v2
  361. with:
  362. path: |
  363. build
  364. key: macos-universal-v${{ env.CACHE_VERSION }}
  365. - name: Fix up Xcode
  366. run: |
  367. sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
  368. sudo xcode-select -s "/Applications/Xcode_12.3.app"
  369. - name: Set up dependencies
  370. run: |
  371. brew install meson
  372. - name: Build macOS universal
  373. env:
  374. CFLAGS: -mmacosx-version-min=10.12 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12
  375. CXXFLAGS: -mmacosx-version-min=10.12 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12
  376. LDFLAGS: -mmacosx-version-min=10.12
  377. run: |
  378. meson build --buildtype=release --prefix=/usr -Dbuild-universal=true
  379. ninja -C build
  380. - name: Install macOS universal
  381. run: |
  382. ninja -C build install
  383. - name: Set sha8 (non-release)
  384. if: startsWith(github.ref, 'refs/tags/') != true
  385. id: slug1
  386. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  387. - name: Set sha8 (release)
  388. if: startsWith(github.ref, 'refs/tags/')
  389. id: slug2
  390. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  391. - name: Set sha8
  392. id: slug
  393. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  394. - name: Pack binaries
  395. run: |
  396. tar czf ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  397. - uses: actions/upload-artifact@v2
  398. with:
  399. name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  400. path: |
  401. *.tar.gz
  402. win32:
  403. runs-on: ubuntu-20.04
  404. steps:
  405. - uses: actions/checkout@v2
  406. - name: Set up cache
  407. id: cache
  408. uses: actions/cache@v2
  409. with:
  410. path: |
  411. build
  412. key: win32-v${{ env.CACHE_VERSION }}
  413. - name: Fix GitHub's mess
  414. run: |
  415. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  416. sudo apt-get update -qq
  417. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  418. - name: Set up dependencies
  419. run: |
  420. sudo dpkg --add-architecture i386
  421. sudo apt-get update -qq
  422. sudo apt-get install -yqq build-essential meson
  423. sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 qttools5-dev qttools5-dev-tools xvfb
  424. - name: Build win32 cross-compiled
  425. run: |
  426. meson build --buildtype=release --prefix=/usr --cross-file scripts/meson/win32.ini
  427. ninja -C build
  428. - name: Install win32
  429. run: |
  430. ninja -C build install
  431. - name: Set sha8 (non-release)
  432. if: startsWith(github.ref, 'refs/tags/') != true
  433. id: slug1
  434. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  435. - name: Set sha8 (release)
  436. if: startsWith(github.ref, 'refs/tags/')
  437. id: slug2
  438. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  439. - name: Set sha8
  440. id: slug
  441. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  442. - name: Pack binaries
  443. run: |
  444. tar czf ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  445. - uses: actions/upload-artifact@v2
  446. with:
  447. name: ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  448. path: |
  449. *.tar.gz
  450. win64:
  451. runs-on: ubuntu-20.04
  452. steps:
  453. - uses: actions/checkout@v2
  454. - name: Set up cache
  455. id: cache
  456. uses: actions/cache@v2
  457. with:
  458. path: |
  459. build
  460. key: win64-v${{ env.CACHE_VERSION }}
  461. - name: Fix GitHub's mess
  462. run: |
  463. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  464. sudo apt-get update -qq
  465. sudo apt-get install -yqq build-essential meson
  466. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  467. - name: Set up dependencies
  468. run: |
  469. sudo dpkg --add-architecture i386
  470. sudo apt-get update -qq
  471. 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
  472. - name: Build win64 cross-compiled
  473. run: |
  474. meson build --buildtype=release --prefix=/usr --cross-file scripts/meson/win64.ini
  475. ninja -C build
  476. - name: Install win64
  477. run: |
  478. ninja -C build install
  479. - name: Set sha8 (non-release)
  480. if: startsWith(github.ref, 'refs/tags/') != true
  481. id: slug1
  482. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  483. - name: Set sha8 (release)
  484. if: startsWith(github.ref, 'refs/tags/')
  485. id: slug2
  486. run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
  487. - name: Set sha8
  488. id: slug
  489. run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
  490. - name: Pack binaries
  491. run: |
  492. tar czf ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3
  493. - uses: actions/upload-artifact@v2
  494. with:
  495. name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  496. path: |
  497. *.tar.gz