Skip to content

Commit

Permalink
ci: Build dependency for Github Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
spencer-lunarg committed Nov 5, 2024
1 parent 7101eb5 commit 4a21dc6
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright (c) 2021-2023 Valve Corporation
# Copyright (c) 2021-2023 LunarG, Inc.
# Copyright (c) 2021-2024 Valve Corporation
# Copyright (c) 2021-2024 LunarG, Inc.

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

jobs:
linux:
needs: codegen
runs-on: ${{matrix.os}}
strategy:
matrix:
Expand Down Expand Up @@ -82,6 +83,7 @@ jobs:
- run: scripts/generate_source.py --verify ext/Vulkan-Headers/registry/

linux-no-asm:
needs: codegen
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
Expand All @@ -101,6 +103,7 @@ jobs:
- run: ctest --output-on-failure -E UnknownFunction --test-dir build/

linux-32:
needs: codegen
runs-on: ubuntu-22.04
strategy:
matrix:
Expand Down Expand Up @@ -139,6 +142,7 @@ jobs:
working-directory: build/

linux-32-no-asm:
needs: codegen
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -173,6 +177,8 @@ jobs:
working-directory: build/

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

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

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

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

apple-cross-compile:
# Mac is 10x expensive to run on GitHub machines, so only run if we know something else passed as well
needs: windows_clang
name: ${{ matrix.CMAKE_SYSTEM_NAME }}
runs-on: macos-13
strategy:
Expand Down Expand Up @@ -292,6 +306,8 @@ jobs:
# Building a universal binary disables assembly automatically
# Furthermore the Vulkan SDK ships universal binaries
mac-univeral:
# Mac is 10x expensive to run on GitHub machines, so only run if we know something else passed as well
needs: windows_clang
name: "Universal Binary Testing (STATIC ${{ matrix.static }}) w/ ${{ matrix.generator }}"
runs-on: macos-latest
strategy:
Expand Down Expand Up @@ -325,12 +341,15 @@ jobs:
vtool -show-build /tmp/lib/libvulkan.dylib | grep 'architecture arm64'
chromium:
needs: codegen
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: scripts/gn/gn.py

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

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

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

mingw-no-asm-explicit:
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
needs: linux-no-asm
runs-on: windows-2022
defaults:
run:
Expand Down

0 comments on commit 4a21dc6

Please sign in to comment.