|
- name: Build VCV Rack Plugin
- on: [push, pull_request]
-
- env:
- rack-sdk-version: 2.4.1
- rack-plugin-toolchain-dir: /home/build/rack-plugin-toolchain
-
- defaults:
- run:
- shell: bash
-
- jobs:
- build:
- 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:
- platform: [win-x64, lin-x64]
- steps:
- - uses: actions/checkout@v3
- with:
- submodules: recursive
- - name: Build plugin
- run: |
- 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: |
- 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@v3
- with:
- path: dist/*.vcvplugin
- name: mac-${{ matrix.platform }}
-
- publish:
- name: Publish plugin
- runs-on: ubuntu-latest
- needs: [build, build-mac]
- steps:
- - uses: actions/download-artifact@v3
- with:
- path: _artifacts
- - uses: "marvinpinto/action-automatic-releases@latest"
- with:
- repo_token: "${{ secrets.GITHUB_TOKEN }}"
- automatic_release_tag: "latest"
- prerelease: true
- title: "Development Build"
- files: |
- _artifacts/**/*.vcvplugin
|