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.

103 lines
3.6KB

  1. name: build
  2. on: [push, pull_request]
  3. env:
  4. DEBIAN_FRONTEND: noninteractive
  5. HOMEBREW_NO_AUTO_UPDATE: 1
  6. WITH_LTO: false
  7. jobs:
  8. macos-11:
  9. runs-on: macos-11
  10. steps:
  11. - uses: actions/checkout@v3
  12. - name: Set up dependencies
  13. run: |
  14. brew install fluid-synth liblo libmagic libsndfile pkg-config pyqt@5 qt@5 sdl2
  15. - name: make features
  16. run: make features
  17. - name: make
  18. run: make -j $(sysctl -n hw.logicalcpu)
  19. ubuntu-20_04:
  20. runs-on: ubuntu-20.04
  21. steps:
  22. - uses: actions/checkout@v3
  23. - name: Fix GitHub's mess
  24. run: |
  25. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  26. sudo dpkg --add-architecture i386
  27. sudo apt-get update -qq
  28. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  29. - name: Set up dependencies
  30. run: |
  31. sudo apt-get install -yqq 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 pkg-config pyqt5-dev-tools qtbase5-dev
  32. sudo apt-get install -yqq g++-multilib libx11-6:i386 libxext6:i386
  33. # Fix 32bit bridge build
  34. sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
  35. sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so
  36. - name: make features
  37. run: make features
  38. - name: make
  39. run: make -j $(nproc)
  40. - name: make posix32
  41. run: make posix32 -j $(nproc)
  42. ubuntu-22_04:
  43. runs-on: ubuntu-22.04
  44. steps:
  45. - uses: actions/checkout@v3
  46. - name: Fix GitHub's mess
  47. run: |
  48. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  49. sudo dpkg --add-architecture i386
  50. sudo apt-get update -qq
  51. sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386
  52. - name: Set up dependencies
  53. run: |
  54. sudo apt-get install -yqq 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 pkg-config pyqt5-dev-tools qtbase5-dev
  55. sudo apt-get install -yqq g++-multilib libx11-6:i386 libxext6:i386
  56. # Fix 32bit bridge build
  57. sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
  58. sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so
  59. - name: make features
  60. run: make features
  61. - name: make
  62. run: make -j $(nproc)
  63. - name: make posix32
  64. run: make posix32 -j $(nproc)
  65. wasm:
  66. runs-on: ubuntu-22.04
  67. env:
  68. EMSCRIPTEN_VERSION: 3.1.27
  69. steps:
  70. - uses: actions/checkout@v3
  71. with:
  72. submodules: recursive
  73. - name: Set up cache
  74. id: cache
  75. uses: actions/cache@v3
  76. with:
  77. path: |
  78. ~/emsdk
  79. key: emsdk-v1
  80. - name: Set up dependencies
  81. run: |
  82. [ -d ~/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/emsdk
  83. cd ~/emsdk && ./emsdk install ${{ env.EMSCRIPTEN_VERSION }} && ./emsdk activate ${{ env.EMSCRIPTEN_VERSION }}
  84. - name: make
  85. env:
  86. AR: emar
  87. CC: emcc
  88. CXX: em++
  89. NM: emnm
  90. RANLIB: emranlib
  91. STRIP: emstrip
  92. PKG_CONFIG: false
  93. run: |
  94. source ~/emsdk/emsdk_env.sh
  95. make features
  96. make -j $(nproc)