-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3c87720
commit f746979
Showing
4 changed files
with
158 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
name: Automated Builds | ||
|
||
# slightly adapted from: | ||
# https://github.com/robbert-vdh/nih-plug/blob/master/.github/workflows/build.yml | ||
|
||
on: | ||
push: | ||
branches: | ||
- '**' | ||
tags: | ||
- '*' | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
defaults: | ||
run: | ||
# This otherwise gets run under dash which does not support brace expansion | ||
shell: bash | ||
|
||
jobs: | ||
# We'll only package the plugins with an entry in bundler.toml | ||
package: | ||
strategy: | ||
matrix: | ||
include: | ||
- { name: ubuntu-20.04, os: ubuntu-20.04, cross-target: '' } | ||
- { name: macos-universal, os: macos-12, cross-target: aarch64-apple-darwin } | ||
- { name: windows, os: windows-latest, cross-target: '' } | ||
name: Package plugin binaries | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Fetch all git history | ||
run: git fetch --force --prune --tags --unshallow | ||
|
||
- name: Install dependencies | ||
if: startsWith(matrix.os, 'ubuntu') | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y libasound2-dev libgl-dev libjack-dev libx11-xcb-dev libxcb1-dev libxcb-dri2-0-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev | ||
- uses: actions/cache@v4 | ||
# FIXME: Caching `target/` causes the Windows runner to blow up after some time | ||
if: startsWith(matrix.os, 'windows') | ||
with: | ||
path: | | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
key: ${{ matrix.name }}-${{ matrix.cross-target }} | ||
- uses: actions/cache@v4 | ||
if: "!startsWith(matrix.os, 'windows')" | ||
with: | ||
path: | | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
key: ${{ matrix.name }}-${{ matrix.cross-target }} | ||
|
||
- name: Set up Rust toolchain | ||
# Needed for SIMD | ||
uses: dtolnay/rust-toolchain@nightly | ||
with: | ||
# The macOS AArch64 build is done from an x86_64 macOS CI runner, so | ||
# it needs to be cross compiled | ||
targets: ${{ matrix.cross-target }} | ||
- name: Package all targets from bundler.toml | ||
# Instead of hardcoding which targets to build and package, we'll | ||
# package everything that's got en entry in the `bundler.toml` file | ||
run: | | ||
# Building can be sped up by specifying all packages in one go | ||
package_args=() | ||
for package in $(cargo xtask known-packages); do | ||
package_args+=("-p" "$package") | ||
done | ||
runner_name=${{ matrix.name }} | ||
if [[ $runner_name = 'macos-universal' ]]; then | ||
export MACOSX_DEPLOYMENT_TARGET=10.13 | ||
cargo xtask bundle-universal "${package_args[@]}" --release | ||
else | ||
cross_target=${{ matrix.cross-target }} | ||
if [[ -n $cross_target ]]; then | ||
package_args+=("--target" "$cross_target") | ||
fi | ||
cargo xtask bundle "${package_args[@]}" --release | ||
fi | ||
- name: Determine build archive name | ||
run: | | ||
# Windows (usually) doesn't like colons in file names | ||
echo "ARCHIVE_NAME=DEL2-$(date -u +"%Y-%m-%d-%H%m%S")-${{ matrix.name }}" >> "$GITHUB_ENV" | ||
- name: Move all packaged plugin into a directory | ||
run: | | ||
# GitHub Action strips the top level directory, great, have another one | ||
mkdir -p "$ARCHIVE_NAME/$ARCHIVE_NAME" | ||
mv target/bundled/* "$ARCHIVE_NAME/$ARCHIVE_NAME" | ||
- name: Add an OS-specific readme file with installation instructions | ||
run: cp ".github/workflows/readme-${{ runner.os }}.txt" "$ARCHIVE_NAME/$ARCHIVE_NAME/README.txt" | ||
|
||
- name: Upload artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ${{ env.ARCHIVE_NAME }} | ||
path: ${{ env.ARCHIVE_NAME }} | ||
|
||
- name: Zip Release | ||
uses: thedoctor0/[email protected] | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
type: 'zip' | ||
directory: ${{ env.ARCHIVE_NAME }}/${{ env.ARCHIVE_NAME }} | ||
filename: DEL2-${{ github.ref_name }}-${{ matrix.name }}.zip | ||
|
||
- name: Release | ||
uses: softprops/action-gh-release@v2 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
files: | | ||
${{ env.ARCHIVE_NAME }}/${{ env.ARCHIVE_NAME }}/*.zip |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
To install the VST3 plugin, copy the .vst3 _directory to: | ||
~/.vst3 | ||
|
||
To install the CLAP plugin, copy the .clap file to: | ||
~/.clap | ||
|
||
You will need to create these directories yourself it they do not yet exist. | ||
|
||
See https://github.com/free-audio/clap#hosts for instructions on how to enable | ||
CLAP support in your DAW. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
To install the VST3 plugin, copy the .vst3 _directory to: | ||
C:/Program Files/Common Files/VST3/ | ||
|
||
To install the CLAP plugin, copy the .clap file to: | ||
C:/Program Files/Common Files/CLAP/ | ||
|
||
You will need to create these directories yourself it they do not yet exist. | ||
|
||
See https://github.com/free-audio/clap#hosts for instructions on how to enable | ||
CLAP support in your DAW. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
You may need to disable Gatekeeper on macOS to be able to use the plugins: | ||
https://disable-gatekeeper.github.io/ | ||
|
||
--- | ||
|
||
To install the VST3 plugin, copy the .vst3 bundle to: | ||
~/Library/Audio/Plug-Ins/VST3 | ||
|
||
To install the CLAP plugin, copy the .clap bundle to: | ||
~/Library/Audio/Plug-Ins/CLAP | ||
|
||
You will need to create these directories yourself it they do not yet exist. | ||
|
||
See https://github.com/free-audio/clap#hosts for instructions on how to enable | ||
CLAP support in your DAW. |