|
- name: Build VCV Rack Plugin
- on: [push, pull_request]
-
- env:
- rack-sdk-version: 1.1.6
-
- defaults:
- run:
- shell: bash
-
- jobs:
- build:
- name: ${{ matrix.config.name }}
- runs-on: ${{ matrix.config.os }}
- strategy:
- matrix:
- config:
- - {
- name: Linux,
- os: ubuntu-18.04,
- prepare-os: sudo apt install -y libglu-dev
- }
- - {
- name: MacOS,
- os: macos-latest,
- prepare-os: ""
- }
- - {
- name: Windows,
- os: windows-latest,
- prepare-os: export CC=gcc
- }
- steps:
- - uses: actions/checkout@v2
- 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 }}.zip
- unzip Rack-SDK.zip
- - name: Patch plugin.mk, use 7zip on Windows
- if: runner.os == 'Windows'
- run: |
- sed -i 's/zip -q -9 -r/7z a -tzip -mx=9/' $HOME/Rack-SDK/plugin.mk
- - name: Patch Makefile to use old glibc versions
- if: runner.os == 'Linux'
- run: |
- echo "FLAGS += -include force_link_glibc_2.23.h" >> Makefile
- - name: Build plugin
- run: |
- ${{ matrix.config.prepare-os }}
- export RACK_DIR=$HOME/Rack-SDK
- make -j dep
- make -j dist
- - name: Upload artifact
- uses: actions/upload-artifact@v2
- with:
- path: dist
- name: ${{ matrix.config.name }}
-
- publish:
- name: Publish plugin
- runs-on: ubuntu-18.04
- needs: build
- steps:
- - uses: actions/download-artifact@v2
- 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/**/*.zip
|