-
Notifications
You must be signed in to change notification settings - Fork 4
60 lines (56 loc) · 1.65 KB
/
build-plugin.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: Build VCV Rack Plugin
on: [workflow_dispatch]
env:
rack-sdk-version: 2.beta.1
defaults:
run:
shell: bash
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
matrix:
config:
- {
name: Linux,
os: ubuntu-latest,
prepare-os: sudo apt update && sudo apt install -y libglu-dev,
os-slug: lin
}
- {
name: MacOS,
os: macos-latest,
prepare-os: "",
os-slug: mac
}
- {
name: Windows,
os: windows-latest,
prepare-os: export CC=gcc,
os-slug: win
}
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 }}-${{ matrix.config.os-slug }}.zip
unzip Rack-SDK.zip
- name: Build plugin
run: |
${{ matrix.config.prepare-os }}
export RACK_DIR=$HOME/Rack-SDK
make -j dep
make -j dist
- name: Extract slug and version
run: |
echo "PLUGIN_SLUG=$(jq -r '.slug' plugin.json)" >> $GITHUB_ENV
echo "PLUGIN_VERSION=$(jq -r '.version' plugin.json)" >> $GITHUB_ENV
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
path: dist/${{ env.PLUGIN_SLUG }}-${{ env.PLUGIN_VERSION }}-${{ matrix.config.os-slug }}.vcvplugin
name: ${{ env.PLUGIN_SLUG }}-${{ env.PLUGIN_VERSION }}-${{ matrix.config.os-slug }}