Skip to content

Commit 4fb8988

Browse files
authored
Update build.yml
1 parent bd18ac8 commit 4fb8988

1 file changed

Lines changed: 55 additions & 9 deletions

File tree

.github/workflows/build.yml

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build VCV Rack Plugin (Windows)
1+
name: Build VCV Rack Plugin
22

33
on:
44
push:
@@ -9,7 +9,12 @@ on:
99

1010
jobs:
1111
build:
12-
runs-on: windows-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [ubuntu-latest, macos-latest, windows-latest]
16+
17+
runs-on: ${{ matrix.os }}
1318

1419
steps:
1520
- name: Checkout repository
@@ -22,8 +27,39 @@ jobs:
2227
with:
2328
python-version: "3.x"
2429

25-
# MSYS2 in MINGW64 mode (required for Rack deps)
30+
# ----------------------------
31+
# Linux dependencies
32+
# ----------------------------
33+
- name: Install Linux build dependencies
34+
if: runner.os == 'Linux'
35+
run: |
36+
sudo apt-get update
37+
sudo apt-get install -y \
38+
libgl1-mesa-dev \
39+
xorg-dev \
40+
libx11-dev \
41+
libxrandr-dev \
42+
libxinerama-dev \
43+
libxcursor-dev \
44+
libxi-dev \
45+
libjack-jackd2-dev \
46+
libasound2-dev \
47+
libpulse-dev
48+
49+
# ----------------------------
50+
# macOS dependencies
51+
# ----------------------------
52+
- name: Install macOS build dependencies
53+
if: runner.os == 'macOS'
54+
run: |
55+
brew update
56+
brew install autoconf automake libtool pkg-config
57+
58+
# ----------------------------
59+
# Windows (MSYS2 / MINGW64)
60+
# ----------------------------
2661
- name: Set up MSYS2
62+
if: runner.os == 'Windows'
2763
uses: msys2/setup-msys2@v2
2864
with:
2965
msystem: MINGW64
@@ -42,25 +78,35 @@ jobs:
4278
mingw-w64-x86_64-autotools
4379
mingw-w64-x86_64-libtool
4480
81+
# ----------------------------
82+
# Clone Rack
83+
# ----------------------------
4584
- name: Clone Rack
46-
shell: msys2 {0}
85+
shell: ${{ runner.os == 'Windows' && 'msys2 {0}' || 'bash' }}
4786
run: |
4887
git clone --recursive https://github.com/VCVRack/Rack.git rack
4988
50-
# Builds jansson, glew, rtaudio, speexdsp, etc.
89+
# ----------------------------
90+
# Build Rack dependencies
91+
# ----------------------------
5192
- name: Build Rack dependencies
52-
shell: msys2 {0}
93+
shell: ${{ runner.os == 'Windows' && 'msys2 {0}' || 'bash' }}
5394
run: |
5495
make -C rack dep
5596
56-
# REQUIRED: builds libRack
97+
# ----------------------------
98+
# Build Rack (libRack)
99+
# ----------------------------
57100
- name: Build Rack
58-
shell: msys2 {0}
101+
shell: ${{ runner.os == 'Windows' && 'msys2 {0}' || 'bash' }}
59102
run: |
60103
make -C rack
61104
105+
# ----------------------------
106+
# Build plugin
107+
# ----------------------------
62108
- name: Build plugin
63-
shell: msys2 {0}
109+
shell: ${{ runner.os == 'Windows' && 'msys2 {0}' || 'bash' }}
64110
run: |
65111
export RACK_DIR=$PWD/rack
66112
make

0 commit comments

Comments
 (0)