Update submodules #253
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 | |
PAWPAW_SKIP_LTO: 1 | |
PAWPAW_SKIP_FFTW: 1 | |
PAWPAW_SKIP_GLIB: 1 | |
PAWPAW_SKIP_LV2: 1 | |
PAWPAW_SKIP_SAMPLERATE: 1 | |
PAWPAW_SKIP_TESTS: 1 | |
WITH_LTO: false | |
jobs: | |
linux: | |
strategy: | |
matrix: | |
target: [aarch64, armhf, i686, riscv64, x86_64] | |
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@v4 | |
with: | |
submodules: recursive | |
- name: Set up cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/PawPawBuilds | |
key: linux-${{ matrix.target }}-v${{ env.CACHE_VERSION }} | |
- name: Set up dependencies | |
run: | | |
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |
./PawPaw/.github/workflows/bootstrap-deps.sh linux-${{ matrix.target }} | |
- name: Set up dependencies x86_64 extra | |
if: ${{ matrix.target == 'x86_64' }} | |
run: | | |
dpkg --add-architecture i386 | |
apt-get update -qq | |
apt-get install -yqq g++-multilib libx11-dev:i386 | |
apt-get install -yqq binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 mingw-w64 wine-stable wine64-tools | |
- name: Build extra dependencies | |
run: | | |
./PawPaw/bootstrap-cardinal.sh linux-${{ matrix.target }} && ./PawPaw/.cleanup.sh linux-${{ matrix.target }} | |
- name: Build linux | |
shell: bash | |
run: | | |
source PawPaw/local.env linux-${{ matrix.target }} | |
make features | |
make NOOPT=true -j $(nproc) | |
- name: Build linux x86_64 extra (part1) | |
if: ${{ matrix.target == 'x86_64' }} | |
shell: bash | |
run: | | |
source PawPaw/local.env linux-${{ matrix.target }} | |
make NOOPT=true all extra-posix32 extra-win32 extra-win64 extra-wine64 -j $(nproc) | |
- name: Build linux x86_64 extra (part2) | |
if: ${{ matrix.target == 'x86_64' }} | |
shell: bash | |
run: | | |
apt-get install -yqq libwine-dev:i386 | |
source PawPaw/local.env linux | |
make NOOPT=true extra-wine32 -j $(nproc) | |
make CARLA_EXTRA_TARGETS=true NOOPT=true -j $(nproc) | |
- name: Set sha8 | |
run: | | |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.event.repository.name }}-linux-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }} | |
path: | | |
bin/* | |
!bin/Ildaeil | |
macos: | |
strategy: | |
matrix: | |
target: [intel, universal] | |
runs-on: macos-11 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/PawPawBuilds | |
key: macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }} | |
- name: Set up dependencies | |
run: | | |
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |
./PawPaw/.github/workflows/bootstrap-deps.sh macos-${{ matrix.target }} | |
- name: Build extra dependencies | |
run: | | |
./PawPaw/bootstrap-cardinal.sh macos-${{ matrix.target }} && ./PawPaw/.cleanup.sh macos-${{ matrix.target }} | |
- name: Build macOS | |
run: | | |
source PawPaw/local.env macos-${{ matrix.target }} | |
make features | |
make NOOPT=true -j $(sysctl -n hw.logicalcpu) | |
- name: Pack macOS | |
run: | | |
source PawPaw/local.env macos-${{ matrix.target }} | |
./dpf/utils/package-osx-bundles.sh | |
- name: Set sha8 | |
run: | | |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.event.repository.name }}-macOS-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }} | |
path: | | |
*-macOS.pkg | |
bin/* | |
!bin/pkg | |
!bin/*.clap | |
!bin/*.lv2 | |
!bin/*.vst | |
!bin/*.vst3 | |
windows: | |
strategy: | |
matrix: | |
target: [win32, win64] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/PawPawBuilds | |
key: ${{ matrix.target }}-v${{ env.CACHE_VERSION }} | |
- name: Fix GitHub's mess | |
run: | | |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list | |
sudo dpkg --add-architecture i386 | |
sudo apt-get update -qq | |
- name: Set up dependencies | |
run: | | |
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |
./PawPaw/.github/workflows/bootstrap-deps.sh ${{ matrix.target }} | |
- name: Build extra dependencies | |
run: | | |
./PawPaw/bootstrap-cardinal.sh ${{ matrix.target }} && ./PawPaw/.cleanup.sh ${{ matrix.target }} | |
- name: Build cross-compiled | |
run: | | |
source PawPaw/local.env ${{ matrix.target }} | |
make features | |
make CARLA_EXTRA_TARGETS=true NOOPT=true -j $(nproc) | |
- name: Set sha8 | |
run: | | |
echo "SHA8=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || env.SHA8 }} | |
path: | | |
bin/* | |
!bin/*.exe | |
pluginval: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-makefile-action@v1 | |
with: | |
target: pluginval | |
source: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: distrho/dpf-makefile-action@v1 | |
with: | |
target: source |