|
|
@@ -2,63 +2,76 @@ name: Build VCV Rack Plugin |
|
|
|
on: [push, pull_request] |
|
|
|
|
|
|
|
env: |
|
|
|
rack-sdk-version: 2.2.0 |
|
|
|
rack-sdk-version: 2.2.1 |
|
|
|
rack-plugin-toolchain-dir: /home/build/rack-plugin-toolchain |
|
|
|
|
|
|
|
defaults: |
|
|
|
run: |
|
|
|
shell: bash |
|
|
|
|
|
|
|
jobs: |
|
|
|
jobs: |
|
|
|
build: |
|
|
|
name: ${{ matrix.config.os }} |
|
|
|
runs-on: ${{ matrix.config.os }} |
|
|
|
name: ${{ matrix.platform }} |
|
|
|
runs-on: ubuntu-latest |
|
|
|
container: |
|
|
|
image: ghcr.io/qno/rack-plugin-toolchain-win-linux |
|
|
|
options: --user root |
|
|
|
strategy: |
|
|
|
fail-fast: false |
|
|
|
matrix: |
|
|
|
config: |
|
|
|
- os: ubuntu-latest |
|
|
|
arch: lin-x64 |
|
|
|
compiler: cc |
|
|
|
install-dependencies: | |
|
|
|
sudo apt-get update && sudo apt-get install -y libglu-dev |
|
|
|
- os: macos-latest |
|
|
|
arch: mac-x64 |
|
|
|
compiler: cc |
|
|
|
install-dependencies: | |
|
|
|
brew install mesa |
|
|
|
- os: windows-latest |
|
|
|
arch: win-x64 |
|
|
|
compiler: gcc |
|
|
|
install-dependencies: | |
|
|
|
choco install --no-progress -y zip |
|
|
|
platform: [win-x64, linux-x64] |
|
|
|
steps: |
|
|
|
- uses: actions/checkout@v2 |
|
|
|
- uses: actions/checkout@v3 |
|
|
|
with: |
|
|
|
submodules: true |
|
|
|
- name: Install Rack SDK |
|
|
|
submodules: recursive |
|
|
|
- name: Build plugin |
|
|
|
run: | |
|
|
|
curl -o sdk.zip https://vcvrack.com/downloads/Rack-SDK-${{ env.rack-sdk-version }}-${{ matrix.config.arch }}.zip |
|
|
|
unzip sdk.zip |
|
|
|
- name: Install Dependencies |
|
|
|
export PLUGIN_DIR=$GITHUB_WORKSPACE |
|
|
|
pushd ${{ env.rack-plugin-toolchain-dir }} |
|
|
|
make plugin-build-${{ matrix.platform }} |
|
|
|
- name: Upload artifact |
|
|
|
uses: actions/upload-artifact@v3 |
|
|
|
with: |
|
|
|
path: ${{ env.rack-plugin-toolchain-dir }}/plugin-build |
|
|
|
name: ${{ matrix.platform }} |
|
|
|
|
|
|
|
build-mac: |
|
|
|
name: mac |
|
|
|
runs-on: macos-12 |
|
|
|
strategy: |
|
|
|
fail-fast: false |
|
|
|
matrix: |
|
|
|
platform: [x64, arm64] |
|
|
|
steps: |
|
|
|
- uses: actions/checkout@v3 |
|
|
|
with: |
|
|
|
submodules: recursive |
|
|
|
- name: Get Rack-SDK |
|
|
|
run: | |
|
|
|
${{ matrix.config.install-dependencies }} |
|
|
|
- name: Build |
|
|
|
env: |
|
|
|
RACK_DIR: Rack-SDK |
|
|
|
CC: ${{ matrix.config.compiler }} |
|
|
|
pushd $HOME |
|
|
|
curl -o Rack-SDK.zip https://vcvrack.com/downloads/Rack-SDK-${{ env.rack-sdk-version }}-mac-${{ matrix.platform }}.zip |
|
|
|
unzip Rack-SDK.zip |
|
|
|
- name: Build plugin |
|
|
|
run: | |
|
|
|
CROSS_COMPILE_TARGET_x64=x86_64-apple-darwin |
|
|
|
CROSS_COMPILE_TARGET_arm64=arm64-apple-darwin |
|
|
|
export RACK_DIR=$HOME/Rack-SDK |
|
|
|
export CROSS_COMPILE=$CROSS_COMPILE_TARGET_${{ matrix.platform }} |
|
|
|
make dep |
|
|
|
make dist |
|
|
|
echo "Plugin architecture '$(lipo -archs plugin.dylib)'" |
|
|
|
- name: Upload artifact |
|
|
|
uses: actions/upload-artifact@v2 |
|
|
|
uses: actions/upload-artifact@v3 |
|
|
|
with: |
|
|
|
path: dist |
|
|
|
name: ${{ matrix.config.arch }}.zip |
|
|
|
path: dist/*.vcvplugin |
|
|
|
name: mac-${{ matrix.platform }} |
|
|
|
|
|
|
|
publish: |
|
|
|
name: Publish plugin |
|
|
|
runs-on: ubuntu-18.04 |
|
|
|
needs: build |
|
|
|
needs: [build, build-mac] |
|
|
|
steps: |
|
|
|
- uses: actions/download-artifact@v2 |
|
|
|
- uses: actions/download-artifact@v3 |
|
|
|
with: |
|
|
|
path: _artifacts |
|
|
|
- uses: "marvinpinto/action-automatic-releases@latest" |
|
|
|