11
11
ninja-version : ' 1.11.1'
12
12
clang-version : ' 18.1.8'
13
13
sha-length : 7
14
+ apt-source : ' echo -e "Types: deb\nURIs: http://archive.ubuntu.com/ubuntu/\nSuites: jammy\nComponents: main restricted universe multiverse\nArchitectures: amd64 i386" | sudo tee /etc/apt/sources.list.d/jammy.sources'
15
+ linux-requirements : ' sudo apt install libasound2-dev libfreetype-dev libcurl4-openssl-dev libwebkit2gtk-4.0-dev libgtk-3-dev'
14
16
15
17
jobs :
16
18
prepare-package :
19
21
strategy :
20
22
fail-fast : false
21
23
matrix :
22
- os : [windows-latest]
24
+ os : [windows-latest, ubuntu-latest ]
23
25
compiler : [MSVC, Clang]
24
26
include :
25
27
- os : windows-latest
28
30
- os : windows-latest
29
31
compiler : Clang
30
32
vcpkg_triplet : x64-windows-llvm
33
+ - os : ubuntu-latest
34
+ compiler : Clang
35
+ vcpkg_triplet : x64-linux-llvm
36
+
37
+ exclude :
38
+ - os : ubuntu-latest
39
+ compiler : MSVC
31
40
32
41
steps :
33
42
- name : Checkout
47
56
shell : cmd
48
57
run : .\bootstrap-vcpkg.bat
49
58
59
+ - name : Install vcpkg Linux
60
+ if : runner.os == 'Linux'
61
+ working-directory : ${{github.workspace}}/vcpkg
62
+ shell : bash
63
+ run : bash ./bootstrap-vcpkg.sh
64
+
50
65
- name : Initialize MSVC Environment
51
66
if : matrix.compiler == 'MSVC'
52
67
uses : ilammy/msvc-dev-cmd@v1
60
75
version : ${{env.clang-version}}
61
76
directory : ${{runner.temp}}/llvm
62
77
78
+ - name : Set Linux APT Source
79
+ if : runner.os == 'Linux'
80
+ shell : bash
81
+ run : ${{env.apt-source}}
82
+
83
+ - name : Update Linux APT Source
84
+ if : runner.os == 'Linux'
85
+ shell : bash
86
+ run : ' sudo apt update'
87
+
88
+ - name : Install Linux Requirements
89
+ if : runner.os == 'Linux'
90
+ shell : bash
91
+ run : ${{env.linux-requirements}}
92
+
63
93
- name : Export GitHub Actions Cache Environment Variables
64
94
uses : actions/github-script@v7
65
95
with :
72
102
shell : pwsh
73
103
env :
74
104
VCPKG_BINARY_SOURCES : " clear;x-gha,readwrite"
75
- run : vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=${{matrix.vcpkg_triplet}}
105
+ run : ./ vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=${{matrix.vcpkg_triplet}}
76
106
77
107
- name : Get Short SHA
78
108
if : ${{!cancelled()}}
98
128
strategy :
99
129
fail-fast : false
100
130
matrix :
101
- os : [windows-latest]
131
+ os : [windows-latest, ubuntu-latest ]
102
132
build_type : [Debug, Release]
103
133
compiler : [MSVC, Clang]
104
134
include :
@@ -108,6 +138,9 @@ jobs:
108
138
- os : windows-latest
109
139
compiler : Clang
110
140
vcpkg_triplet : x64-windows-llvm
141
+ - os : ubuntu-latest
142
+ compiler : Clang
143
+ vcpkg_triplet : x64-linux-llvm
111
144
112
145
- os : windows-latest
113
146
build_type : Debug
@@ -129,6 +162,20 @@ jobs:
129
162
compiler : Clang
130
163
cmake_config : ' Ninja Release Win64 LLVM'
131
164
build_path : ' ninja-release-win64-llvm'
165
+ - os : ubuntu-latest
166
+ build_type : Debug
167
+ compiler : Clang
168
+ cmake_config : ' Ninja Debug Linux LLVM'
169
+ build_path : ' ninja-debug-linux-llvm'
170
+ - os : ubuntu-latest
171
+ build_type : Release
172
+ compiler : Clang
173
+ cmake_config : ' Ninja Release Linux LLVM'
174
+ build_path : ' ninja-release-linux-llvm'
175
+
176
+ exclude :
177
+ - os : ubuntu-latest
178
+ compiler : MSVC
132
179
133
180
permissions :
134
181
id-token : write
@@ -153,6 +200,12 @@ jobs:
153
200
shell : cmd
154
201
run : .\bootstrap-vcpkg.bat
155
202
203
+ - name : Install vcpkg Linux
204
+ if : runner.os == 'Linux'
205
+ working-directory : ${{github.workspace}}/vcpkg
206
+ shell : bash
207
+ run : bash ./bootstrap-vcpkg.sh
208
+
156
209
- name : Initialize MSVC Environment
157
210
if : matrix.compiler == 'MSVC'
158
211
uses : ilammy/msvc-dev-cmd@v1
@@ -166,6 +219,21 @@ jobs:
166
219
version : ${{env.clang-version}}
167
220
directory : ${{runner.temp}}/llvm
168
221
222
+ - name : Set Linux APT Source
223
+ if : runner.os == 'Linux'
224
+ shell : bash
225
+ run : ${{env.apt-source}}
226
+
227
+ - name : Update Linux APT Source
228
+ if : runner.os == 'Linux'
229
+ shell : bash
230
+ run : ' sudo apt update'
231
+
232
+ - name : Install Linux Requirements
233
+ if : runner.os == 'Linux'
234
+ shell : bash
235
+ run : ${{env.linux-requirements}}
236
+
169
237
- name : Export GitHub Actions Cache Environment Variables
170
238
uses : actions/github-script@v7
171
239
with :
@@ -178,7 +246,7 @@ jobs:
178
246
shell : pwsh
179
247
env :
180
248
VCPKG_BINARY_SOURCES : " clear;x-gha,readwrite"
181
- run : vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=${{matrix.vcpkg_triplet}}
249
+ run : ./ vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=${{matrix.vcpkg_triplet}}
182
250
183
251
- name : Configure CMake
184
252
working-directory : ${{github.workspace}}
0 commit comments