-
Notifications
You must be signed in to change notification settings - Fork 0
133 lines (112 loc) · 4.37 KB
/
Copy pathbuild-plugin.yml
File metadata and controls
133 lines (112 loc) · 4.37 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: Build Morph Plugin
on:
push:
branches: [main, master]
paths:
- 'Source/**'
- 'Libs/**'
- 'CMakeLists.txt'
- '.github/workflows/build-plugin.yml'
- 'CompanionWin/**'
workflow_dispatch:
jobs:
# ── Mac (AU + VST3, Universal) ─────────────────────────────────────────────
build-mac:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Select Xcode 15.4
run: sudo xcode-select -s /Applications/Xcode_15.4.app/Contents/Developer
- name: Clone JUCE
run: git clone --depth=1 --branch=8.0.12 https://github.com/juce-framework/JUCE.git ../JUCE
- name: Configure (CMake)
run: |
cmake -B build-mac \
-DCMAKE_BUILD_TYPE=Release \
-DJUCE_PATH="$(pwd)/../JUCE" \
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0
- name: Build
run: cmake --build build-mac --config Release --parallel
- name: Collect plugin files
run: |
mkdir -p dist/mac
find build-mac -name "*.vst3" -exec cp -R {} dist/mac/ \;
find build-mac -name "*.component" -exec cp -R {} dist/mac/ \;
- name: Build .pkg installer
run: |
mkdir -p pkg-root/Library/Audio/Plug-Ins/VST3
mkdir -p pkg-root/Library/Audio/Plug-Ins/Components
cp -R dist/mac/Morph.vst3 pkg-root/Library/Audio/Plug-Ins/VST3/
cp -R dist/mac/Morph.component pkg-root/Library/Audio/Plug-Ins/Components/
pkgbuild \
--root pkg-root \
--identifier ai.95ent.morph \
--version 1.0.0 \
--install-location / \
Water_Morph_1.0.0_macOS.pkg
- name: Upload Mac installer
uses: actions/upload-artifact@v4
with:
name: Water_Morph_1.0.0_macOS
path: Water_Morph_1.0.0_macOS.pkg
retention-days: 14
# ── Windows (VST3, x64) ────────────────────────────────────────────────────
build-windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Clone JUCE
run: git clone --depth=1 --branch=8.0.12 https://github.com/juce-framework/JUCE.git ../JUCE
- name: Configure (CMake)
run: |
cmake -B build-win `
-G "Visual Studio 17 2022" -A x64 `
-DCMAKE_BUILD_TYPE=Release `
"-DJUCE_PATH=${{ github.workspace }}\..\JUCE"
- name: Build
# continue-on-error: juce_vst3_helper.exe post-build step can fail on CI
# (moduleinfo.json generation) even though the VST3 DLL compiled correctly.
continue-on-error: true
run: cmake --build build-win --config Release --parallel
- name: Collect VST3
run: |
$vst3 = Get-ChildItem -Path build-win -Filter "Morph.vst3" -Recurse -Directory | Select-Object -First 1
if (-not $vst3) { Write-Error "VST3 not found — compile failed"; exit 1 }
New-Item -ItemType Directory -Force -Path dist\win | Out-Null
Copy-Item -Path $vst3.FullName -Destination dist\win -Recurse
- name: Upload Windows VST3 artifact
uses: actions/upload-artifact@v4
with:
name: Morph-Windows-VST3
path: dist\win\
retention-days: 1
# ── Windows installer (VST3 + Electron companion, bundled) ────────────────
build-installer-win:
runs-on: windows-2022
needs: build-windows
defaults:
run:
working-directory: CompanionWin
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Download VST3 artifact
uses: actions/download-artifact@v4
with:
name: Morph-Windows-VST3
path: CompanionWin/vst3
- name: Install deps
run: npm install
- name: Build installer
run: npx electron-builder --win --x64 --publish=never
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
- name: Upload Windows installer
uses: actions/upload-artifact@v4
with:
name: Water_Morph_1.0.0_Windows
path: CompanionWin/dist/*.exe
retention-days: 14