Try to load posix spawn addclosefrom_np at runtime #1729
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: Automated builds | |
on: | |
push: | |
branches: | |
- '**' | |
tags: | |
# Run when pushing version tags, since otherwise it's impossible to | |
# restart a successful build after pushing a tag | |
- '*.*.*' | |
pull_request: | |
branches: | |
- master | |
defaults: | |
run: | |
# This otherwise gets run under dash which does not support brace expansion | |
shell: bash | |
jobs: | |
build-focal: | |
name: Build on Ubuntu 20.04 | |
runs-on: ubuntu-latest | |
container: robbert/docker-yabridge:focal | |
outputs: | |
artifact-name: ${{ env.ARCHIVE_NAME }} | |
steps: | |
- uses: actions/checkout@v3 | |
# Needed for git-describe to do anything useful, the safe directory | |
# workaround is needed for https://github.com/actions/runner/issues/2033 | |
- name: Fetch all git history | |
run: | | |
git config --global --add safe.directory /__w/yabridge/yabridge | |
git fetch --force --prune --tags --unshallow | |
- name: Determine build archive name | |
run: | | |
echo "ARCHIVE_NAME=yabridge-$(git describe --always).tar.gz" >> "$GITHUB_ENV" | |
- name: Build the binaries | |
run: | | |
mkdir -p /tmp/prefix | |
export WINEPREFIX=/tmp/prefix | |
# In this version we don't need to statically link libstdc++ since | |
# Ubuntu 20.04 and similar distros will ship with a version that's | |
# compatible with GCC 10, even if that's not the default GCC version | |
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dbitbridge=true | |
ninja -C build | |
- name: Strip remaining debug symbols | |
run: strip build/libyabridge{,-chainloader}-{clap,vst2,vst3}.so build/yabridge-host{,-32}.exe.so | |
- name: Create an archive for the binaries | |
run: | | |
mkdir yabridge | |
cp build/libyabridge{,-chainloader}-{clap,vst2,vst3}.so build/yabridge-host{,-32}.exe{,.so} yabridge | |
cp CHANGELOG.md README.md yabridge | |
tar -caf "$ARCHIVE_NAME" yabridge | |
rm -rf yabridge | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ARCHIVE_NAME }} | |
path: ${{ env.ARCHIVE_NAME }} | |
build-yabridgectl: | |
name: Build yabridgectl | |
runs-on: ubuntu-latest | |
container: robbert/docker-yabridge:focal | |
outputs: | |
artifact-name: ${{ env.ARCHIVE_NAME }} | |
defaults: | |
run: | |
working-directory: tools/yabridgectl | |
steps: | |
- uses: actions/checkout@v3 | |
# Needed for git-describe to do anything useful, the safe directory | |
# workaround is needed for https://github.com/actions/runner/issues/2033 | |
- name: Fetch all git history | |
run: | | |
git config --global --add safe.directory /__w/yabridge/yabridge | |
git fetch --force --prune --tags --unshallow | |
- name: Determine build archive name | |
run: | | |
echo "ARCHIVE_NAME=yabridgectl-$(git describe --always).tar.gz" >> "$GITHUB_ENV" | |
# FIXME: Needed as long as we use the docker image | |
- name: Install dependencies | |
run: | | |
apt-get update | |
apt-get install -y curl | |
- name: Set up Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Build the binaries | |
run: cargo build --release | |
- name: Strip remaining debug symbols | |
run: strip target/release/yabridgectl | |
- name: Create an archive for the binaries | |
run: | | |
mkdir yabridgectl | |
cp target/release/yabridgectl README.md yabridgectl | |
tar -caf "$ARCHIVE_NAME" yabridgectl | |
rm -rf yabridgectl | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ARCHIVE_NAME }} | |
# For some reason there's no way to tell GitHub actions to run actions | |
# in a subdirectory | |
path: tools/yabridgectl/${{ env.ARCHIVE_NAME }} |