Skip to content

Commit 4a21dc6

Browse files
ci: Build dependency for Github Actions
1 parent 7101eb5 commit 4a21dc6

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

.github/workflows/build.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Copyright (c) 2021-2023 Valve Corporation
2-
# Copyright (c) 2021-2023 LunarG, Inc.
1+
# Copyright (c) 2021-2024 Valve Corporation
2+
# Copyright (c) 2021-2024 LunarG, Inc.
33

44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@ permissions: read-all
3535

3636
jobs:
3737
linux:
38+
needs: codegen
3839
runs-on: ${{matrix.os}}
3940
strategy:
4041
matrix:
@@ -82,6 +83,7 @@ jobs:
8283
- run: scripts/generate_source.py --verify ext/Vulkan-Headers/registry/
8384

8485
linux-no-asm:
86+
needs: codegen
8587
runs-on: ubuntu-22.04
8688
steps:
8789
- uses: actions/checkout@v4
@@ -101,6 +103,7 @@ jobs:
101103
- run: ctest --output-on-failure -E UnknownFunction --test-dir build/
102104

103105
linux-32:
106+
needs: codegen
104107
runs-on: ubuntu-22.04
105108
strategy:
106109
matrix:
@@ -139,6 +142,7 @@ jobs:
139142
working-directory: build/
140143

141144
linux-32-no-asm:
145+
needs: codegen
142146
runs-on: ubuntu-22.04
143147
steps:
144148
- uses: actions/checkout@v4
@@ -173,6 +177,8 @@ jobs:
173177
working-directory: build/
174178

175179
windows_vs:
180+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
181+
needs: linux-no-asm
176182
runs-on: windows-latest
177183
strategy:
178184
matrix:
@@ -192,6 +198,8 @@ jobs:
192198
- run: ctest --output-on-failure -C ${{matrix.config}} --test-dir build/
193199

194200
windows_vs-no-asm:
201+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
202+
needs: linux-no-asm
195203
runs-on: windows-latest
196204
strategy:
197205
matrix:
@@ -211,6 +219,8 @@ jobs:
211219

212220
# Test both clang and clang-cl (Chromium project uses clang-cl)
213221
windows_clang:
222+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
223+
needs: linux-no-asm
214224
runs-on: windows-2022
215225
strategy:
216226
matrix:
@@ -233,6 +243,8 @@ jobs:
233243
- run: cmake --install build --prefix build/install
234244

235245
mac:
246+
# Mac is 10x expensive to run on GitHub machines, so only run if we know something else passed as well
247+
needs: windows_clang
236248
runs-on: macos-13
237249
strategy:
238250
matrix:
@@ -261,6 +273,8 @@ jobs:
261273
- run: ctest --output-on-failure --test-dir build/
262274

263275
apple-cross-compile:
276+
# Mac is 10x expensive to run on GitHub machines, so only run if we know something else passed as well
277+
needs: windows_clang
264278
name: ${{ matrix.CMAKE_SYSTEM_NAME }}
265279
runs-on: macos-13
266280
strategy:
@@ -292,6 +306,8 @@ jobs:
292306
# Building a universal binary disables assembly automatically
293307
# Furthermore the Vulkan SDK ships universal binaries
294308
mac-univeral:
309+
# Mac is 10x expensive to run on GitHub machines, so only run if we know something else passed as well
310+
needs: windows_clang
295311
name: "Universal Binary Testing (STATIC ${{ matrix.static }}) w/ ${{ matrix.generator }}"
296312
runs-on: macos-latest
297313
strategy:
@@ -325,12 +341,15 @@ jobs:
325341
vtool -show-build /tmp/lib/libvulkan.dylib | grep 'architecture arm64'
326342
327343
chromium:
344+
needs: codegen
328345
runs-on: ubuntu-latest
329346
steps:
330347
- uses: actions/checkout@v4
331348
- run: scripts/gn/gn.py
332349

333350
mingw:
351+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
352+
needs: linux-no-asm
334353
runs-on: windows-2022
335354
defaults:
336355
run:
@@ -357,6 +376,8 @@ jobs:
357376
- run: cmake --install build --prefix /tmp
358377

359378
mingw-use-gas:
379+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
380+
needs: linux-no-asm
360381
runs-on: windows-2022
361382
defaults:
362383
run:
@@ -378,6 +399,8 @@ jobs:
378399
- run: cmake --install build --prefix /tmp
379400

380401
mingw-no-asm:
402+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
403+
needs: linux-no-asm
381404
runs-on: windows-2022
382405
defaults:
383406
run:
@@ -399,6 +422,8 @@ jobs:
399422
- run: cmake --install build --prefix /tmp
400423

401424
mingw-no-asm-explicit:
425+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
426+
needs: linux-no-asm
402427
runs-on: windows-2022
403428
defaults:
404429
run:

0 commit comments

Comments
 (0)