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.

91 lines
2.6KB

  1. name: build
  2. on: [push, pull_request]
  3. env:
  4. DEBIAN_FRONTEND: noninteractive
  5. EMSCRIPTEN_VERSION: 3.1.27
  6. HOMEBREW_NO_AUTO_UPDATE: 1
  7. HOMEBREW_NO_INSTALL_CLEANUP: 1
  8. jobs:
  9. linux:
  10. strategy:
  11. matrix:
  12. include:
  13. - target: debian:11
  14. - target: debian:12
  15. - target: ubuntu:18.04
  16. - target: ubuntu:20.04
  17. - target: ubuntu:22.04
  18. runs-on: ubuntu-latest
  19. container:
  20. image: ${{ matrix.target }}
  21. steps:
  22. - uses: actions/checkout@v3
  23. - name: Set up dependencies
  24. run: |
  25. dpkg --add-architecture i386
  26. apt-get update -qq
  27. apt-get install -yqq g++-multilib libasound2-dev libfluidsynth-dev libgl1-mesa-dev liblo-dev libmagic-dev libpulse-dev libsdl2-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev make pkg-config pyqt5-dev-tools qtbase5-dev
  28. apt-get install -yqq libx11-6:i386 libxext6:i386
  29. # Fix 32bit bridge build
  30. ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
  31. ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so
  32. - name: make features
  33. run: make features
  34. - name: make
  35. run: make -j $(nproc)
  36. - name: make posix32
  37. run: make posix32 -j $(nproc)
  38. macos:
  39. strategy:
  40. matrix:
  41. include:
  42. #- target: macos-11
  43. - target: macos-12
  44. runs-on: ${{ matrix.target }}
  45. steps:
  46. - uses: actions/checkout@v3
  47. with:
  48. submodules: recursive
  49. - name: Set up dependencies
  50. run: |
  51. brew install fluid-synth liblo libmagic libsndfile pkg-config pyqt@5 qt@5 sdl2
  52. - name: make features
  53. run: make features
  54. - name: make
  55. run: make -j $(sysctl -n hw.logicalcpu)
  56. wasm:
  57. runs-on: ubuntu-22.04
  58. steps:
  59. - uses: actions/checkout@v3
  60. with:
  61. submodules: recursive
  62. - name: Set up cache
  63. id: cache
  64. uses: actions/cache@v3
  65. with:
  66. path: |
  67. ~/emsdk
  68. key: emsdk-v1
  69. - name: Set up dependencies
  70. run: |
  71. [ -d ~/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/emsdk
  72. cd ~/emsdk && ./emsdk install ${{ env.EMSCRIPTEN_VERSION }} && ./emsdk activate ${{ env.EMSCRIPTEN_VERSION }}
  73. - name: make
  74. env:
  75. AR: emar
  76. CC: emcc
  77. CXX: em++
  78. NM: emnm
  79. RANLIB: emranlib
  80. STRIP: emstrip
  81. PKG_CONFIG: false
  82. run: |
  83. source ~/emsdk/emsdk_env.sh
  84. make features
  85. make -j $(nproc)