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.

156 lines
6.0KB

  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-11:
  14. runs-on: macos-11
  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 libfontconfig1: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. sudo ln -s /usr/lib/i386-linux-gnu/libfontconfig.so.1 /usr/lib/i386-linux-gnu/libfontconfig.so
  69. - name: make features
  70. run: make features
  71. - name: make
  72. run: make WITH_LTO=true -j $(nproc)
  73. - name: make posix32
  74. run: make WITH_LTO=true posix32 -j $(nproc)
  75. ubuntu-20_04:
  76. runs-on: ubuntu-20.04
  77. steps:
  78. - uses: actions/checkout@v2
  79. - name: Fix GitHub's mess
  80. run: |
  81. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  82. sudo apt-get update -qq
  83. sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  84. - name: Set up dependencies
  85. run: |
  86. sudo dpkg --add-architecture i386
  87. sudo apt-get update -qq
  88. 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
  89. sudo apt-get install -yq g++-multilib libfreetype6:i386 libfontconfig1:i386 libx11-6:i386 libxext6:i386
  90. # Fix 32bit bridge build
  91. sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
  92. sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so
  93. sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/i386-linux-gnu/libfreetype.so
  94. sudo ln -s /usr/lib/i386-linux-gnu/libfontconfig.so.1 /usr/lib/i386-linux-gnu/libfontconfig.so
  95. - name: make features
  96. run: make features
  97. - name: make
  98. run: make WITH_LTO=true -j $(nproc)
  99. - name: make posix32
  100. run: make WITH_LTO=true posix32 -j $(nproc)
  101. ubuntu-mingw-win32:
  102. runs-on: ubuntu-20.04
  103. env:
  104. CC: i686-w64-mingw32-gcc
  105. CXX: i686-w64-mingw32-g++
  106. CROSS_COMPILING: "true"
  107. PKG_CONFIG: "false"
  108. steps:
  109. - uses: actions/checkout@v2
  110. - name: Fix GitHub's mess
  111. run: |
  112. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  113. sudo apt-get update -qq
  114. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  115. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  116. - name: Set up dependencies
  117. run: |
  118. sudo dpkg --add-architecture i386
  119. sudo apt-get update -qq
  120. sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64
  121. - name: make features
  122. run: make features
  123. - name: make
  124. run: make WITH_LTO=true -j $(nproc)
  125. ubuntu-mingw-win64:
  126. runs-on: ubuntu-20.04
  127. env:
  128. CC: x86_64-w64-mingw32-gcc
  129. CXX: x86_64-w64-mingw32-g++
  130. CROSS_COMPILING: "true"
  131. PKG_CONFIG: "false"
  132. steps:
  133. - uses: actions/checkout@v2
  134. - name: Fix GitHub's mess
  135. run: |
  136. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  137. sudo apt-get update -qq
  138. sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
  139. sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
  140. - name: Set up dependencies
  141. run: |
  142. sudo apt-get update -qq
  143. sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64
  144. - name: make features
  145. run: make features
  146. - name: make
  147. run: make WITH_LTO=true -j $(nproc)