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.

190 lines
6.4KB

  1. name: release
  2. on:
  3. push:
  4. branches:
  5. - '*'
  6. pull_request:
  7. branches:
  8. - '*'
  9. env:
  10. CACHE_VERSION: 1
  11. PAWPAW_SKIP_LTO: 1
  12. PAWPAW_VERSION: cd7b760d6a32ecad263b112c12be8a306ed1e89c
  13. jobs:
  14. # macOS native universal build
  15. macos_universal:
  16. runs-on: macos-11
  17. steps:
  18. - uses: actions/checkout@v3
  19. with:
  20. submodules: recursive
  21. - name: Set up cache
  22. uses: actions/cache@v3
  23. with:
  24. path: |
  25. ~/PawPawBuilds
  26. key: macos-universal-v${{ env.CACHE_VERSION }}
  27. - name: Set up dependencies
  28. run: |
  29. brew install cmake jq meson
  30. - name: Bootstrap macOS universal
  31. shell: bash
  32. run: |
  33. git clone https://github.com/DISTRHO/PawPaw.git
  34. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  35. ./PawPaw/bootstrap-carla.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
  36. - name: Build macOS universal
  37. shell: bash
  38. run: |
  39. source PawPaw/local.env macos-universal
  40. make features
  41. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
  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} TESTING=true -j 1
  46. make dist ${MAKE_ARGS} -j 1
  47. - uses: actions/upload-artifact@v3
  48. with:
  49. name: macOS dmg
  50. path: ./*.dmg
  51. - uses: softprops/action-gh-release@v1
  52. if: startsWith(github.ref, 'refs/tags/')
  53. with:
  54. tag_name: ${{ github.ref_name }}
  55. name: ${{ github.ref_name }}
  56. draft: false
  57. prerelease: false
  58. files: |
  59. path: ./*.dmg
  60. # linux with win32 cross-compilation
  61. win32:
  62. runs-on: ubuntu-22.04
  63. steps:
  64. - uses: actions/checkout@v3
  65. with:
  66. submodules: recursive
  67. - name: Set up cache
  68. uses: actions/cache@v3
  69. with:
  70. path: |
  71. ~/PawPawBuilds
  72. key: win32-v${{ env.CACHE_VERSION }}
  73. - name: Restore debian packages cache
  74. run: |
  75. if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
  76. sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
  77. fi
  78. - name: Fix GitHub's mess
  79. run: |
  80. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  81. sudo dpkg --add-architecture i386
  82. sudo apt-get update -qq
  83. sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386
  84. - name: Set up dependencies
  85. run: |
  86. sudo apt-get install -y build-essential curl cmake jq meson mingw-w64 gperf qttools5-dev qttools5-dev-tools xvfb \
  87. binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
  88. - name: Cache debian packages
  89. run: |
  90. mkdir -p ~/PawPawBuilds/debs
  91. sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
  92. - name: Bootstrap win32 cross-compiled
  93. shell: bash
  94. run: |
  95. git clone https://github.com/DISTRHO/PawPaw.git
  96. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  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. path: ./*.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/bootstrap-carla.sh win64 && ./PawPaw/.cleanup.sh win64
  160. - name: Build win64 cross-compiled
  161. shell: bash
  162. run: |
  163. source PawPaw/local.env win64
  164. make features
  165. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS}
  166. make EXTERNAL_PLUGINS=false NOOPT=true ${MAKE_ARGS} win32r
  167. make dist ${MAKE_ARGS} TESTING=true -j 1
  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} -j 1
  172. - uses: actions/upload-artifact@v3
  173. with:
  174. name: win64 zip
  175. path: ./*.zip
  176. - uses: softprops/action-gh-release@v1
  177. if: startsWith(github.ref, 'refs/tags/')
  178. with:
  179. tag_name: ${{ github.ref_name }}
  180. name: ${{ github.ref_name }}
  181. draft: false
  182. prerelease: false
  183. files: |
  184. path: ./*.zip