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
3636jobs :
3737 linux :
38+ needs : codegen
3839 runs-on : ${{matrix.os}}
3940 strategy :
4041 matrix :
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