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.

155 lines
4.8KB

  1. name: release
  2. on: [push, pull_request]
  3. env:
  4. CACHE_VERSION: 4
  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: 2606d0d436471b12902d60edd2aeb2390db44e62
  11. jobs:
  12. # macOS native universal build
  13. macos_universal:
  14. runs-on: macos-13
  15. steps:
  16. - uses: actions/checkout@v4
  17. - name: Set up cache
  18. uses: actions/cache@v4
  19. with:
  20. path: |
  21. ~/PawPawBuilds
  22. key: macos-universal-v${{ env.CACHE_VERSION }}
  23. - name: Set up dependencies
  24. run: |
  25. brew install cmake jq meson
  26. - name: Bootstrap macOS universal
  27. shell: bash
  28. run: |
  29. git clone https://github.com/DISTRHO/PawPaw.git
  30. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  31. ./PawPaw/.github/workflows/bootstrap-deps.sh macos-universal
  32. ./PawPaw/bootstrap-carla.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
  33. - name: Build macOS universal
  34. shell: bash
  35. run: |
  36. source PawPaw/local.env macos-universal
  37. make features
  38. make NOOPT=true ${MAKE_ARGS}
  39. make dist ${MAKE_ARGS} TESTING=true -j 1
  40. make dist ${MAKE_ARGS} TESTING=true -j 1
  41. make dist ${MAKE_ARGS} TESTING=true -j 1
  42. make dist ${MAKE_ARGS} TESTING=true -j 1
  43. make dist ${MAKE_ARGS} -j 1
  44. - uses: actions/upload-artifact@v4
  45. with:
  46. name: macOS dmg
  47. path: ./*.dmg
  48. - uses: softprops/action-gh-release@v1
  49. if: startsWith(github.ref, 'refs/tags/')
  50. with:
  51. tag_name: ${{ github.ref_name }}
  52. name: ${{ github.ref_name }}
  53. draft: false
  54. prerelease: false
  55. files: |
  56. ./*.dmg
  57. # linux with win32 cross-compilation
  58. win32:
  59. runs-on: ubuntu-latest
  60. container:
  61. image: ubuntu:22.04
  62. steps:
  63. - uses: actions/checkout@v4
  64. - name: Set up cache
  65. uses: actions/cache@v4
  66. with:
  67. path: |
  68. ~/PawPawBuilds
  69. key: win32-v${{ env.CACHE_VERSION }}
  70. - name: Bootstrap win32 cross-compiled
  71. shell: bash
  72. run: |
  73. apt-get update -qq
  74. apt-get install -yqq git unzip zip
  75. git clone https://github.com/DISTRHO/PawPaw.git
  76. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  77. ./PawPaw/.github/workflows/bootstrap-deps.sh win32
  78. ./PawPaw/bootstrap-carla.sh win32 && ./PawPaw/.cleanup.sh win32
  79. - name: Build win32 cross-compiled
  80. shell: bash
  81. run: |
  82. source PawPaw/local.env win32
  83. make features
  84. make NOOPT=true ${MAKE_ARGS}
  85. make dist ${MAKE_ARGS} TESTING=true -j 1
  86. make dist ${MAKE_ARGS} TESTING=true -j 1
  87. make dist ${MAKE_ARGS} TESTING=true -j 1
  88. make dist ${MAKE_ARGS} TESTING=true -j 1
  89. make dist ${MAKE_ARGS} -j 1
  90. - uses: actions/upload-artifact@v4
  91. with:
  92. name: win32 zip
  93. path: ./*.zip
  94. - uses: softprops/action-gh-release@v1
  95. if: startsWith(github.ref, 'refs/tags/')
  96. with:
  97. tag_name: ${{ github.ref_name }}
  98. name: ${{ github.ref_name }}
  99. draft: false
  100. prerelease: false
  101. files: |
  102. ./*.zip
  103. # linux with win64 cross-compilation
  104. win64:
  105. runs-on: ubuntu-latest
  106. container:
  107. image: ubuntu:22.04
  108. steps:
  109. - uses: actions/checkout@v4
  110. - name: Set up cache
  111. uses: actions/cache@v4
  112. with:
  113. path: |
  114. ~/PawPawBuilds
  115. key: win64-v${{ env.CACHE_VERSION }}
  116. - name: Bootstrap win64 cross-compiled
  117. shell: bash
  118. run: |
  119. apt-get update -qq
  120. apt-get install -yqq git unzip zip
  121. git clone https://github.com/DISTRHO/PawPaw.git
  122. git -C PawPaw checkout ${{ env.PAWPAW_VERSION }}
  123. ./PawPaw/.github/workflows/bootstrap-deps.sh win64
  124. ./PawPaw/bootstrap-carla.sh win64 && ./PawPaw/.cleanup.sh win64
  125. - name: Build win64 cross-compiled
  126. shell: bash
  127. run: |
  128. source PawPaw/local.env win64
  129. make features
  130. make NOOPT=true ${MAKE_ARGS}
  131. make NOOPT=true ${MAKE_ARGS} win32r
  132. make dist ${MAKE_ARGS} TESTING=true -j 1
  133. make dist ${MAKE_ARGS} TESTING=true -j 1
  134. make dist ${MAKE_ARGS} TESTING=true -j 1
  135. make dist ${MAKE_ARGS} TESTING=true -j 1
  136. make dist ${MAKE_ARGS} -j 1
  137. - uses: actions/upload-artifact@v4
  138. with:
  139. name: win64 zip
  140. path: ./*.zip
  141. - uses: softprops/action-gh-release@v1
  142. if: startsWith(github.ref, 'refs/tags/')
  143. with:
  144. tag_name: ${{ github.ref_name }}
  145. name: ${{ github.ref_name }}
  146. draft: false
  147. prerelease: false
  148. files: |
  149. ./*.zip