-
Notifications
You must be signed in to change notification settings - Fork 1
130 lines (128 loc) · 4.43 KB
/
main.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
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
# Based on https://github.com/OwlPlug/owlplug-scanner/blob/master/.github/workflows/main.yml
name: MultiDexed
on:
push:
branches:
- '**'
jobs:
build-win:
runs-on: windows-2019
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
submodules: recursive
token: ${{ secrets.REPO_ACCESS_TOKEN }}
- name: "Download Projucer"
run: |
git clone -b 7.0.5 --depth 1 https://github.com/juce-framework/JUCE JUCE
bash -ex ./build/download-projucer.sh
shell: bash
env:
OS: windows
- name: Get MultiDexed Version
run: echo "version=$((Select-Xml -Path MultiDexed.jucer -XPath '//JUCERPROJECT/@version').Node.Value)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
id: get-version
- name: "Build MultiDexed"
run: sh -ex ./build/build-win.sh
shell: bash
- name: Upload Artifact
uses: actions/[email protected]
with:
name: MultiDexed-win
path: |
./Builds/VisualStudio2019/x64/Release/VST3/MultiDexed.vst3
./Builds/VisualStudio2019/x64/Release/Standalone Plugin/MultiDexed.exe
build-osx:
if: false # Skip this job because it is slow
runs-on: macos-11
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
submodules: recursive
token: ${{ secrets.REPO_ACCESS_TOKEN }}
- name: "Download Projucer"
run: |
git clone -b 7.0.5 --depth 1 https://github.com/juce-framework/JUCE JUCE
bash -ex ./build/download-projucer.sh
shell: bash
env:
OS: osx
- name: Install XmlStarlet
run: brew install xmlstarlet
- name: Get MultiDexed Version
run: echo "version=$(xmlstarlet sel -t -v 'string(//JUCERPROJECT/@version)' MultiDexed.jucer)" >> $GITHUB_ENV
id: get-version
- name: "Build macOS"
run: sh -ex ./build/build-osx.sh
shell: bash
- name: "zip macOS"
run: |
cd ./Builds/MacOSX/build/Release/
zip -r MultiDexed.vst3.macOS.zip MultiDexed.vst3
zip -r MultiDexed.app.macOS.zip MultiDexed.app
cd -
shell: bash
- name: Upload Artifact
uses: actions/[email protected]
with:
name: MultiDexed-osx
path: |
./Builds/MacOSX/build/Release/MultiDexed.vst3.macOS.zip
./Builds/MacOSX/build/Release/MultiDexed.app.macOS.zip
build-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
submodules: recursive
token: ${{ secrets.REPO_ACCESS_TOKEN }}
- name: "Download Projucer"
run: |
git clone -b 7.0.5 --depth 1 https://github.com/juce-framework/JUCE JUCE
bash -ex ./build/download-projucer.sh
shell: bash
env:
OS: linux
- name : Update packages
run: sudo apt update
- name : Install Juce dev dependencies
run: sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev mesa-common-dev
- name: Install XmlStarlet
run: sudo apt install xmlstarlet
- name: Get MultiDexed Version
run: echo "version=$(xmlstarlet sel -t -v 'string(//JUCERPROJECT/@version)' MultiDexed.jucer)" >> $GITHUB_ENV
id: get-version
- name: "Build Linux"
run: sh -ex ./build/build-linux.sh
shell: bash
- name: Upload Artifact
uses: actions/[email protected]
with:
name: MultiDexed-linux
path: |
./Builds/LinuxMakefile/build/MultiDexed.vst3
./Builds/LinuxMakefile/build/MultiDexed
release:
name: "Release"
needs: [build-win, build-osx, build-linux]
if: github.ref == 'refs/heads/main'
runs-on: "ubuntu-latest"
steps:
- uses: actions/[email protected]
- name: Retrieve artifacts
uses: actions/download-artifact@v3
with:
path: ./build
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.REPO_ACCESS_TOKEN }}"
prerelease: true
automatic_release_tag: latest
title: MultiDexed Latest
files: |
build/MultiDexed-linux
build/MultiDexed-osx
build/MultiDexed-win