-
Notifications
You must be signed in to change notification settings - Fork 129
/
azure-pipelines.yml
147 lines (142 loc) · 4.36 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
# https://aka.ms/yaml
variables:
- group: obs-pipeline
- name: FTP_PATH_PREFIX
value: $(webrtc_path_prefix)
- name: FTP_LOGIN
value: $(ftpLudoLogin)
- name: FTP_PASSWORD
value: $(ftpLudoPassword)
- name: CODESIGN_IDENT
value: $(ludo_apple_developer_identity)
- name: CODESIGN_IDENT_USER
value: $(ludo_apple_account_id)
- name: CODESIGN_IDENT_PASS
value: $(ludo_apple_developer_password)
- name: BUILD_TYPE
value: Release
- name: CMAKE_PREFIX_PATH
value: /usr/local/opt/qt5/lib/cmake
- name: CEF_BUILD_VERSION
value: 3770
- name: CEF_VERSION
value: 75.1.16+g16a67c4+chromium-75.0.3770.100
- name: LIBWEBRTC_VERSION
value: 88.0
- name: OBS_VERSION
value: 26.0
- name: TWITCH-CLIENTID
value: $(twitch_clientid)
- name: TWITCH-HASH
value: $(twitch_hash)
- name: RESTREAM-CLIENTID
value: $(restream_clientid)
- name: RESTREAM-HASH
value: $(restream_hash)
# for script CI/full-build-macos.sh
- name: MACOS_DEPS_VERSION
value: '2020-08-30'
- name: VLC_VERSION
value: '3.0.8'
- name: SPARKLE_VERSION
value: '1.23.0'
- name: QT_VERSION
value: '5.14.1'
parameters:
- name: vendors
type: object
default:
- Millicast
- PacPost
# - RemoteFilming
jobs:
- job: 'Build_macOS'
pool:
vmImage: 'macOS-10.15'
steps:
- task: InstallAppleCertificate@2
inputs:
certSecureFile: Certificates.p12
certPwd: $(certificatesLudoPassword)
- script: git submodule update --init --recursive
displayName: 'Checkout Submodules'
- ${{ each vendor in parameters.vendors }}:
- script: TERM="" ./CI/full-build-macos.sh -b -p -n -v ${{ vendor }}
displayName: '${{ vendor }} Install dependencies and build'
env:
CI_BUILD_TYPE: $(BUILD_TYPE)
FTP_PATH_PREFIX: $(webrtc_path_prefix)
FTP_LOGIN: $(ftpLudoLogin)
FTP_PASSWORD: $(ftpLudoPassword)
CODESIGN_IDENT: $(ludo_apple_developer_identity)
CODESIGN_IDENT_USER: $(ludo_apple_account_id)
CODESIGN_IDENT_PASS: $(ludo_apple_developer_password)
- bash: |
mkdir -p ./nightly_${{ vendor }}
find ./build_${{ vendor }} -name \*.dmg -exec cp -PR \{\} ./nightly_${{ vendor }}/ \;
displayName: '${{ vendor }} Copy disk image'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: './nightly_${{ vendor }}'
artifactName: macbuild_${{ vendor }}
- job: 'Build_Windows64'
pool:
vmImage: 'windows-2019'
steps:
- script: git submodule update --init --recursive
displayName: 'Checkout Submodules'
- script: ./CI/install-qt-win.cmd
displayName: 'Install QT'
- script: ./CI/install-dependencies-win.cmd
displayName: 'Download / Setup Dependencies'
env:
FTP_PATH_PREFIX: $(webrtc_path_prefix)
FTP_LOGIN: $(ftpLudoLogin)
FTP_PASSWORD: $(ftpLudoPassword)
- ${{ each vendor in parameters.vendors }}:
- script: ./CI/install-script-win.cmd ${{ vendor }}
displayName: '${{ vendor }} Run CMake'
- task: MSBuild@1
displayName: '${{ vendor }} Build 64-bit'
inputs:
msbuildArguments: '/m /p:Configuration=$(BUILD_TYPE)'
solution: .\build64_${{ vendor }}\${{ vendor }}.sln
- script: ./CI/before-deploy-win.cmd ${{ vendor }}
displayName: '${{ vendor }} Before deploy'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: './build_${{ vendor }}'
artifactName: winbuild_${{ vendor }}
- job: 'Build_Linux'
pool:
vmImage: 'ubuntu-20.04'
steps:
- bash: |
git submodule update --init --recursive
./CI/install-dependencies-linux.sh
displayName: 'checkout and dependencies'
env:
FTP_PATH_PREFIX: $(webrtc_path_prefix)
FTP_LOGIN: $(ftpLudoLogin)
FTP_PASSWORD: $(ftpLudoPassword)
- ${{ each vendor in parameters.vendors }}:
- bash: |
set -e
git stash
mkdir build_${{ vendor }}
./CI/before-script-linux.sh ${{ vendor }}
cd build_${{ vendor }}
make -j4
cd ..
mkdir package_${{ vendor }}
cd build_${{ vendor }}
cpack -G DEB
mv *.deb ../package_${{ vendor }}
cd ..
displayName: '${{ vendor }} cmake, build, package'
env:
CI_BUILD_TYPE: $(BUILD_TYPE)
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: './package_${{ vendor }}'
artifactName: 'debbuild_${{ vendor }}'