Fix juce7 LV2 build with JUCE_AUDIOPROCESSOR_NO_GUI #110
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push, pull_request] | |
env: | |
CACHE_VERSION: 1 | |
DEBIAN_FRONTEND: noninteractive | |
DESTDIR: /tmp/destdir | |
LIBGL_ALWAYS_SOFTWARE: 'true' | |
jobs: | |
linux: | |
strategy: | |
matrix: | |
include: | |
- target: linux-aarch64 | |
pkgprefix: aarch64-linux-gnu | |
container: ubuntu:18.04 | |
- target: linux-aarch64 | |
pkgprefix: aarch64-linux-gnu | |
container: ubuntu:20.04 | |
- target: linux-aarch64 | |
pkgprefix: aarch64-linux-gnu | |
container: ubuntu:22.04 | |
- target: linux-armhf | |
pkgprefix: arm-linux-gnueabihf | |
container: ubuntu:18.04 | |
- target: linux-armhf | |
pkgprefix: arm-linux-gnueabihf | |
container: ubuntu:20.04 | |
- target: linux-armhf | |
pkgprefix: arm-linux-gnueabihf | |
container: ubuntu:22.04 | |
- target: linux-i686 | |
pkgprefix: i386-linux-gnu | |
container: ubuntu:18.04 | |
- target: linux-i686 | |
pkgprefix: i386-linux-gnu | |
container: ubuntu:20.04 | |
- target: linux-x86_64 | |
pkgprefix: x86_64-linux-gnu | |
container: ubuntu:18.04 | |
- target: linux-x86_64 | |
pkgprefix: x86_64-linux-gnu | |
container: ubuntu:20.04 | |
- target: linux-x86_64 | |
pkgprefix: x86_64-linux-gnu | |
container: ubuntu:22.04 | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Install git | |
run: | | |
apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates git openssl | |
case "${{ matrix.container }}" in | |
"ubuntu:18.04") | |
apt-get install -yqq --no-install-recommends curl libpcre2-8-0 | |
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo18.04.1~ppa1_amd64.deb | |
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo18.04.1~ppa1_all.deb | |
dpkg -i *.deb | |
rm *.deb | |
;; | |
"ubuntu:20.04") | |
apt-get install -yqq --no-install-recommends curl | |
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo20.04.1~ppa1_amd64.deb | |
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo20.04.1~ppa1_all.deb | |
dpkg -i *.deb | |
rm *.deb | |
;; | |
esac | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up dependencies | |
run: | | |
./.github/workflows/bootstrap-deps.sh ${{ matrix.target }} | |
- name: Build | |
env: | |
LDFLAGS: -static-libgcc -static-libstdc++ | |
PKG_CONFIG_PATH: /usr/lib/${{ matrix.pkgprefix }}/pkgconfig | |
run: | | |
meson setup build --buildtype=release --prefix=/usr --cross-file scripts/meson/${{ matrix.target }}.ini | |
ninja -C build | |
- name: Install | |
run: | | |
ninja -C build install | |
- name: Set sha8 (release) | |
if: startsWith(github.ref, 'refs/tags/') | |
run: | | |
echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV | |
- name: Set sha8 (non-release) | |
if: startsWith(github.ref, 'refs/tags/') != true | |
run: | | |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV | |
- name: Pack binaries | |
run: | | |
tar czf ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }} | |
path: | | |
*.tar.gz | |
- uses: softprops/action-gh-release@v1 | |
if: ${{ matrix.container == 'ubuntu:18.04' && startsWith(github.ref, 'refs/tags/') }} | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: | | |
*.tar.gz | |
linux-headless: | |
runs-on: ubuntu-latest | |
container: | |
image: ubuntu:20.04 | |
steps: | |
- name: Install git | |
run: | | |
apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates curl git openssl | |
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo20.04.1~ppa1_amd64.deb | |
curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo20.04.1~ppa1_all.deb | |
dpkg -i *.deb | |
rm *.deb | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up dependencies | |
run: | | |
./.github/workflows/bootstrap-deps.sh linux-headless | |
apt-get install -yqq libasound2-dev libfftw3-dev libfreetype6-dev pkg-config | |
- name: Build | |
run: | | |
meson setup build --buildtype=release --prefix=/usr -Dlinux-headless=true | |
ninja -C build | |
macos: | |
strategy: | |
matrix: | |
include: | |
- os: macos-11 | |
- os: macos-12 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up dependencies | |
run: | | |
./.github/workflows/bootstrap-deps.sh macos | |
- name: Build | |
run: | | |
meson build --buildtype=release --prefix=/usr -Dbuild-universal=true | |
ninja -C build | |
- name: Install | |
run: | | |
ninja -C build install | |
- name: Set sha8 (release) | |
if: startsWith(github.ref, 'refs/tags/') | |
run: | | |
echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV | |
- name: Set sha8 (non-release) | |
if: startsWith(github.ref, 'refs/tags/') != true | |
run: | | |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV | |
- name: Pack binaries | |
run: | | |
tar czf ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.event.repository.name }}-${{ env.PAWPAW_PACK_NAME }}-${{ github.event.pull_request.number || env.SHA8 }} | |
path: | | |
*.tar.gz | |
- uses: softprops/action-gh-release@v1 | |
if: ${{ matrix.os == 'macos-11' && startsWith(github.ref, 'refs/tags/') }} | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: | | |
*.tar.gz | |
windows: | |
strategy: | |
matrix: | |
include: | |
#- target: win32 | |
- target: win64 | |
runs-on: ubuntu-latest | |
container: | |
image: ubuntu:22.04 | |
steps: | |
- name: Install git | |
run: | | |
apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates git | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up dependencies | |
run: | | |
./.github/workflows/bootstrap-deps.sh ${{ matrix.target }} | |
- name: Build | |
env: | |
WINEARCH: ${{ matrix.target }} | |
WINEDEBUG: -all | |
WINEDLLOVERRIDES: mscoree,mshtml= | |
WINEPREFIX: /tmp/wine | |
run: | | |
meson setup build --buildtype=release --prefix=/usr --cross-file scripts/meson/${{ matrix.target }}.ini | |
ninja -C build | |
- name: Install | |
env: | |
WINEDEBUG: -all | |
WINEPREFIX: /tmp/wine | |
run: | | |
ninja -C build install | |
- name: Set sha8 (release) | |
if: startsWith(github.ref, 'refs/tags/') | |
run: | | |
echo "SHA8=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV | |
- name: Set sha8 (non-release) | |
if: startsWith(github.ref, 'refs/tags/') != true | |
run: | | |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV | |
- name: Pack binaries | |
run: | | |
tar czf ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }}.tar.gz -C ${{ env.DESTDIR }}/usr/lib lv2 vst vst3 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }} | |
path: | | |
*.tar.gz | |
- uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: | | |
*.tar.gz |