/
azure-pipelines.yml
159 lines (131 loc) · 4.15 KB
/
azure-pipelines.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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# Build the surge-fx with JUCE buidls
trigger:
- main
pr:
- main
jobs:
- job: Build
strategy:
matrix:
mac:
imageName: 'macos-10.14'
isMac: True
win:
imageName: 'vs2017-win2016'
isWindows: True
win32bit:
imageName: 'vs2017-win2016'
isWindows32: True
linux:
imageName: 'ubuntu-16.04'
isLinux: True
pool:
vmImage: $(imageName)
steps:
- checkout: self
fetchDepth: 1
# submodules: recursive # can't do submodules here b'cuz depth=1 fails with Github
- bash: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev
sudo apt-get install -y libwebkit2gtk-4.0
sudo apt-get install -y libwebkit2gtk-4.0-dev
sudo apt-get install -y libcurl4-openssl-dev
sudo apt-get install -y alsa
sudp apt-get install -y alsa-tools
sudo apt-get install -y libasound2-dev
sudo apt-get install -y jack
sudo apt-get install -y libjack-dev
sudo apt-get install -y libfreetype6-dev
sudo apt-get install -y libxinerama-dev
sudo apt-get install -y libxcb-xinerama0
sudo apt-get install -y libxinerama1
sudo apt-get install -y x11proto-xinerama-dev
sudo apt-get install -y libxrandr-dev
sudo apt-get install -y libgl1-mesa-dev
sudo apt-get install -y libxcursor-dev
sudo apt-get install -y libxcursor1
sudo apt-get install -y libxcb-cursor-dev
sudo apt-get install -y libxcb-cursor0
sudo apt-get install -y --fix-missing
apt list --installed
find /usr/include -name "asoundlib.h" -print
displayName: Prepare Linux Host
condition: variables.isLinux
- bash: |
git submodule update --init --recursive
displayName: Get Surge SubModule
- bash:
cmake -Bbuild
displayName: cmake (win and lin)
condition: or( variables.isWindows, variables.isLinux )
- bash:
cmake -Bbuild -A Win32
displayName: cmake (win32)
condition: variables.isWindows32
- bash:
cmake -Bbuild -GXcode
displayName: cmake (mac)
condition: variables.isMac
- bash: |
cmake --build build --config Release --target installer-pkg
displayName: Build
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'MACOS_BUILD'
targetPath: 'build/asset/'
displayName: Publish Mac DMG
condition: variables.isMac
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'WINDOWS_BUILD'
targetPath: 'build/asset/'
displayName: Publish Windows Zip
condition: variables.isWindows
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'WINDOWS32_BUILD'
targetPath: 'build/asset/'
displayName: Publish Windows32 Zip
condition: variables.isWindows32
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'LINUX_BUILD'
targetPath: 'build/asset'
displayName: Publish Linux Tar
condition: variables.isLinux
- job: UpdateGithubRelease
dependsOn: Build
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
steps:
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'MACOS_BUILD'
targetPath: $(Build.ArtifactStagingDirectory)
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'WINDOWS_BUILD'
targetPath: $(Build.ArtifactStagingDirectory)
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'WINDOWS32_BUILD'
targetPath: $(Build.ArtifactStagingDirectory)
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'LINUX_BUILD'
targetPath: $(Build.ArtifactStagingDirectory)
- bash: |
scripts/release-notes.sh > $(Build.ArtifactStagingDirectory)/ReleaseNotes.md
ls $(Build.ArtifactStagingDirectory)
displayName: Fake up release notes
- task: GitHubRelease@0
displayName: "Update Github Release"
inputs:
gitHubConnection: surge-rackupdater
repositoryName: surge-synthesizer/surge-fx
action: edit
tag: Nightly
target: '$(Build.SourceVersion)'
addChangeLog: false
releaseNotesFile: $(Build.ArtifactStagingDirectory)/ReleaseNotes.md
assets: $(Build.ArtifactStagingDirectory)/*.*