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.

154 lines
5.5KB

  1. name: build
  2. on:
  3. push:
  4. branches:
  5. - '*'
  6. pull_request:
  7. branches:
  8. - '*'
  9. env:
  10. DEBIAN_FRONTEND: noninteractive
  11. HOMEBREW_NO_AUTO_UPDATE: 1
  12. jobs:
  13. macos-10_15:
  14. runs-on: macos-10.15
  15. steps:
  16. - uses: actions/checkout@v2
  17. - name: Set up dependencies
  18. run: |
  19. brew install fluid-synth liblo libmagic libsndfile pkg-config pyqt@5
  20. - name: make features
  21. run: make features
  22. - name: make
  23. run: make WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
  24. msys2-i686:
  25. runs-on: windows-latest
  26. defaults:
  27. run:
  28. shell: msys2 {0}
  29. steps:
  30. - uses: actions/checkout@v2
  31. - uses: msys2/setup-msys2@v2
  32. with:
  33. msystem: mingw32
  34. install: base-devel make mingw-w64-i686-toolchain mingw-w64-i686-fluidsynth mingw-w64-i686-liblo mingw-w64-i686-libsndfile mingw-w64-i686-pkg-config mingw-w64-i686-python-pyqt5
  35. - name: make features
  36. run: make features
  37. - name: make
  38. run: make WITH_LTO=true -j $(nproc)
  39. msys2-x86_64:
  40. runs-on: windows-latest
  41. defaults:
  42. run:
  43. shell: msys2 {0}
  44. steps:
  45. - uses: actions/checkout@v2
  46. - uses: msys2/setup-msys2@v2
  47. with:
  48. msystem: mingw64
  49. install: base-devel make mingw-w64-x86_64-toolchain mingw-w64-x86_64-fluidsynth mingw-w64-x86_64-liblo mingw-w64-x86_64-libsndfile mingw-w64-x86_64-pkg-config mingw-w64-x86_64-python-pyqt5
  50. - name: make features
  51. run: make features
  52. - name: make
  53. run: make WITH_LTO=true -j $(nproc)
  54. ubuntu-18_04:
  55. runs-on: ubuntu-18.04
  56. steps:
  57. - uses: actions/checkout@v2
  58. - name: Set up dependencies
  59. run: |
  60. sudo dpkg --add-architecture i386
  61. sudo apt-get update -qq
  62. sudo apt-get install -yq libasound2-dev libfluidsynth-dev libgl1-mesa-dev liblo-dev libmagic-dev libpulse-dev libqt4-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev pkg-config pyqt5-dev-tools qtbase5-dev
  63. sudo apt-get install -yq g++-multilib libfreetype6:i386 libx11-6:i386 libxext6:i386
  64. # Fix 32bit bridge build
  65. sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
  66. sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so
  67. sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/i386-linux-gnu/libfreetype.so
  68. - name: make features
  69. run: make features
  70. - name: make
  71. run: make WITH_LTO=true -j $(nproc)
  72. - name: make posix32
  73. run: make WITH_LTO=true posix32 -j $(nproc)
  74. ubuntu-20_04:
  75. runs-on: ubuntu-20.04
  76. steps:
  77. - uses: actions/checkout@v2
  78. - name: Fix GitHub's mess
  79. run: |
  80. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  81. sudo apt-get update -qq
  82. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  83. - name: Set up dependencies
  84. run: |
  85. sudo dpkg --add-architecture i386
  86. sudo apt-get update -qq
  87. sudo apt-get install -yq libasound2-dev libfluidsynth-dev libgl1-mesa-dev liblo-dev libmagic-dev libpulse-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev pkg-config pyqt5-dev-tools qtbase5-dev
  88. sudo apt-get install -yq g++-multilib libfreetype6:i386 libx11-6:i386 libxext6:i386
  89. # Fix 32bit bridge build
  90. sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
  91. sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so
  92. sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/i386-linux-gnu/libfreetype.so
  93. - name: make features
  94. run: make features
  95. - name: make
  96. run: make WITH_LTO=true -j $(nproc)
  97. - name: make posix32
  98. run: make WITH_LTO=true posix32 -j $(nproc)
  99. ubuntu-mingw-win32:
  100. runs-on: ubuntu-20.04
  101. env:
  102. CC: i686-w64-mingw32-gcc
  103. CXX: i686-w64-mingw32-g++
  104. EXE_WRAPPER: wine
  105. PKG_CONFIG: "false"
  106. WINEDEBUG: "-all"
  107. steps:
  108. - uses: actions/checkout@v2
  109. - name: Fix GitHub's mess
  110. run: |
  111. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  112. sudo apt-get update -qq
  113. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  114. - name: Set up dependencies
  115. run: |
  116. sudo dpkg --add-architecture i386
  117. sudo apt-get update -qq
  118. sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
  119. - name: make features
  120. run: make features
  121. - name: make
  122. run: make WITH_LTO=true -j $(nproc)
  123. ubuntu-mingw-win64:
  124. runs-on: ubuntu-20.04
  125. env:
  126. CC: x86_64-w64-mingw32-gcc
  127. CXX: x86_64-w64-mingw32-g++
  128. EXE_WRAPPER: wine
  129. PKG_CONFIG: "false"
  130. WINEDEBUG: "-all"
  131. steps:
  132. - uses: actions/checkout@v2
  133. - name: Fix GitHub's mess
  134. run: |
  135. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  136. sudo apt-get update -qq
  137. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  138. - name: Set up dependencies
  139. run: |
  140. sudo apt-get update -qq
  141. sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
  142. - name: make features
  143. run: make features
  144. - name: make
  145. run: make WITH_LTO=true -j $(nproc)