Build a 32-bit version of yabridge on the CI

Specially for @AVLinux. We currently don't build a 32-bit version of
yabridgectl though, so you'd still need that if you want to use yabridge
on an _actual_ 32-bit system.
This commit is contained in:
Robbert van der Helm
2021-07-18 15:24:17 +02:00
parent 103b2cb46a
commit 0d02951886
+38
View File
@@ -99,6 +99,44 @@ jobs:
name: ${{ env.ARCHIVE_NAME }}
path: ${{ env.ARCHIVE_NAME }}
# The same as `build-bionic`, but for a 32-bit only version of yabridge. We
# don't plan on distributing this, but we'll just have this available for AV
# Linux. We currently don't do 32-bit builds of yabridgectl though.
build-32-bit:
name: Build on Ubuntu 18.04 (32-bit build)
runs-on: ubuntu-latest
container: robbert/docker-yabridge:bionic
outputs:
artifact-name: ${{ env.ARCHIVE_NAME }}
steps:
- uses: actions/checkout@v2
- name: Fetch all git history
run: git fetch --force --prune --tags --unshallow
- name: Determine build archive name
run: |
echo "ARCHIVE_NAME=yabridge-$(git describe --always)-ubuntu-18.04-32bit.tar.gz" >> "$GITHUB_ENV"
- name: Build the binaries
run: |
mkdir -p /tmp/prefix
export WINEPREFIX=/tmp/prefix
# Statically link to libstdc++ on Ubuntu 18.04, and also target a
# 32-bit OS
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dwith-static-boost=true -Dwith-bitbridge=true -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32 -static-libstdc++'
ninja -C build
- name: Create an archive for the binaries
run: |
mkdir yabridge
cp build/libyabridge-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe{,.so} yabridge
cp CHANGELOG.md README.md yabridge
tar -caf "$ARCHIVE_NAME" yabridge
rm -rf yabridge
- uses: actions/upload-artifact@v2
with:
name: ${{ env.ARCHIVE_NAME }}
path: ${{ env.ARCHIVE_NAME }}
build-yabridgectl:
name: Build yabridgectl
runs-on: ubuntu-18.04