Audio plugin host https://kx.studio/carla
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.

release.yml 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. name: release
  2. on: [push, pull_request]
  3. env:
  4. CACHE_VERSION: 1
  5. DEBIAN_FRONTEND: noninteractive
  6. HOMEBREW_NO_AUTO_UPDATE: 1
  7. HOMEBREW_NO_INSTALL_CLEANUP: 1
  8. PAWPAW_SKIP_LTO: 1
  9. PAWPAW_SKIP_TESTS: 1
  10. PAWPAW_VERSION: 9534e2b4f9bafc993e05fada89b824f3a2176708
  11. jobs:
  12. # macOS native universal build
  13. macos_universal:
  14. runs-on: macos-11
  15. steps:
  16. - uses: actions/checkout@v3
  17. with:
  18. submodules: recursive
  19. - name: Set up cache
  20. uses: actions/cache@v3
  21. with:
  22. path: |
  23. ~/PawPawBuilds
  24. key: macos-universal-v${{ env.CACHE_VERSION }}
  25. - name: Set up dependencies
  26. run: |
  27. brew install cmake jq meson
  28. - name: Bootstrap macOS universal
  29. shell: bash
  30. run: |
  31. git clone https://github.com/DISTRHO/PawPaw.git
  32. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  33. ./PawPaw/.github/workflows/bootstrap-deps.sh macos-universal
  34. ./PawPaw/bootstrap-carla.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
  35. - name: Build macOS universal
  36. shell: bash
  37. run: |
  38. source PawPaw/local.env macos-universal
  39. make features
  40. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
  41. make dist ${MAKE_ARGS} TESTING=true -j 1
  42. make dist ${MAKE_ARGS} TESTING=true -j 1
  43. make dist ${MAKE_ARGS} TESTING=true -j 1
  44. make dist ${MAKE_ARGS} TESTING=true -j 1
  45. make dist ${MAKE_ARGS} -j 1
  46. - uses: actions/upload-artifact@v3
  47. with:
  48. name: macOS dmg
  49. path: ./*.dmg
  50. - uses: softprops/action-gh-release@v1
  51. if: startsWith(github.ref, 'refs/tags/')
  52. with:
  53. tag_name: ${{ github.ref_name }}
  54. name: ${{ github.ref_name }}
  55. draft: false
  56. prerelease: false
  57. files: |
  58. ./*.dmg
  59. # linux with win32 cross-compilation
  60. win32:
  61. runs-on: ubuntu-22.04
  62. steps:
  63. - uses: actions/checkout@v3
  64. with:
  65. submodules: recursive
  66. - name: Set up cache
  67. uses: actions/cache@v3
  68. with:
  69. path: |
  70. ~/PawPawBuilds
  71. key: win32-v${{ env.CACHE_VERSION }}
  72. - name: Restore debian packages cache
  73. run: |
  74. if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
  75. sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
  76. fi
  77. - name: Fix GitHub's mess
  78. run: |
  79. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  80. sudo dpkg --add-architecture i386
  81. sudo apt-get update -qq
  82. sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386
  83. - name: Set up dependencies
  84. run: |
  85. sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev qttools5-dev-tools xvfb \
  86. binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
  87. - name: Cache debian packages
  88. run: |
  89. mkdir -p ~/PawPawBuilds/debs
  90. sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
  91. - name: Bootstrap win32 cross-compiled
  92. shell: bash
  93. run: |
  94. git clone https://github.com/DISTRHO/PawPaw.git
  95. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  96. ./PawPaw/.github/workflows/bootstrap-deps.sh win32
  97. ./PawPaw/bootstrap-carla.sh win32 && ./PawPaw/.cleanup.sh win32
  98. - name: Build win32 cross-compiled
  99. shell: bash
  100. run: |
  101. source PawPaw/local.env win32
  102. make features
  103. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
  104. make dist ${MAKE_ARGS} TESTING=true -j 1
  105. make dist ${MAKE_ARGS} TESTING=true -j 1
  106. make dist ${MAKE_ARGS} TESTING=true -j 1
  107. make dist ${MAKE_ARGS} TESTING=true -j 1
  108. make dist ${MAKE_ARGS} -j 1
  109. - uses: actions/upload-artifact@v3
  110. with:
  111. name: win32 zip
  112. path: ./*.zip
  113. - uses: softprops/action-gh-release@v1
  114. if: startsWith(github.ref, 'refs/tags/')
  115. with:
  116. tag_name: ${{ github.ref_name }}
  117. name: ${{ github.ref_name }}
  118. draft: false
  119. prerelease: false
  120. files: |
  121. ./*.zip
  122. # linux with win64 cross-compilation
  123. win64:
  124. runs-on: ubuntu-22.04
  125. steps:
  126. - uses: actions/checkout@v3
  127. with:
  128. submodules: recursive
  129. - name: Set up cache
  130. uses: actions/cache@v3
  131. with:
  132. path: |
  133. ~/PawPawBuilds
  134. key: win64-v${{ env.CACHE_VERSION }}
  135. - name: Restore debian packages cache
  136. run: |
  137. if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
  138. sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
  139. fi
  140. - name: Fix GitHub's mess
  141. run: |
  142. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  143. sudo dpkg --add-architecture i386
  144. sudo apt-get update -qq
  145. sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386
  146. - name: Set up dependencies
  147. run: |
  148. sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev qttools5-dev-tools xvfb \
  149. binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
  150. - name: Cache debian packages
  151. run: |
  152. mkdir -p ~/PawPawBuilds/debs
  153. sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
  154. - name: Bootstrap win64 cross-compiled
  155. shell: bash
  156. run: |
  157. git clone https://github.com/DISTRHO/PawPaw.git
  158. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  159. ./PawPaw/.github/workflows/bootstrap-deps.sh win64
  160. ./PawPaw/bootstrap-carla.sh win64 && ./PawPaw/.cleanup.sh win64
  161. - name: Build win64 cross-compiled
  162. shell: bash
  163. run: |
  164. source PawPaw/local.env win64
  165. make features
  166. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
  167. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} win32r
  168. make dist ${MAKE_ARGS} TESTING=true -j 1
  169. make dist ${MAKE_ARGS} TESTING=true -j 1
  170. make dist ${MAKE_ARGS} TESTING=true -j 1
  171. make dist ${MAKE_ARGS} TESTING=true -j 1
  172. make dist ${MAKE_ARGS} -j 1
  173. - uses: actions/upload-artifact@v3
  174. with:
  175. name: win64 zip
  176. path: ./*.zip
  177. - uses: softprops/action-gh-release@v1
  178. if: startsWith(github.ref, 'refs/tags/')
  179. with:
  180. tag_name: ${{ github.ref_name }}
  181. name: ${{ github.ref_name }}
  182. draft: false
  183. prerelease: false
  184. files: |
  185. ./*.zip