|
1501
|
1 # Copyright 2022-2023 LunarG, Inc.
|
|
|
2 #
|
|
|
3 # SPDX-License-Identifier: Apache-2.0
|
|
|
4
|
|
|
5 name: ci
|
|
|
6
|
|
|
7 on:
|
|
|
8 push:
|
|
|
9 pull_request:
|
|
|
10
|
|
|
11 env:
|
|
|
12 CMAKE_GENERATOR: Ninja
|
|
|
13
|
|
|
14 permissions:
|
|
|
15 contents: read
|
|
|
16
|
|
|
17 jobs:
|
|
|
18 cmake-unix:
|
|
|
19 runs-on: ${{ matrix.os }}
|
|
|
20 if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
|
21 strategy:
|
|
|
22 matrix:
|
|
|
23 os: [ ubuntu-latest, macos-latest ]
|
|
|
24 cmake-version: [ '3.22.1', 'latest']
|
|
|
25 steps:
|
|
|
26 - uses: actions/checkout@v5
|
|
|
27 - uses: lukka/get-cmake@latest
|
|
|
28 with:
|
|
|
29 cmakeVersion: ${{ matrix.cmake-version }}
|
|
|
30 - uses: ilammy/msvc-dev-cmd@v1
|
|
|
31 - run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON
|
|
|
32 - run: cmake --build ./build
|
|
|
33 - run: cmake --install build/ --prefix build/install
|
|
|
34 - run: ctest --output-on-failure
|
|
|
35 working-directory: build
|
|
|
36
|
|
|
37 cmake-windows:
|
|
|
38 runs-on: windows-latest
|
|
|
39 if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
|
40 strategy:
|
|
|
41 matrix:
|
|
|
42 cmake-version: [ '3.22.1', 'latest']
|
|
|
43 steps:
|
|
|
44 - uses: actions/checkout@v5
|
|
|
45 - uses: lukka/get-cmake@latest
|
|
|
46 with:
|
|
|
47 cmakeVersion: ${{ matrix.cmake-version }}
|
|
|
48 - uses: ilammy/msvc-dev-cmd@v1
|
|
|
49 - run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON
|
|
|
50 - run: cmake --build ./build
|
|
|
51 - run: cmake --install build/ --prefix build/install
|
|
|
52 - run: ctest --output-on-failure
|
|
|
53 working-directory: build
|
|
|
54
|
|
|
55 windows_clang:
|
|
|
56 runs-on: windows-2022
|
|
|
57 if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
|
58 strategy:
|
|
|
59 matrix:
|
|
|
60 compiler: [ clang, clang-cl ]
|
|
|
61 steps:
|
|
|
62 - uses: actions/checkout@v5
|
|
|
63 - uses: ilammy/msvc-dev-cmd@v1
|
|
|
64 - run: |
|
|
|
65 cmake -S . -B build `
|
|
|
66 -D CMAKE_C_COMPILER=${{matrix.compiler}} `
|
|
|
67 -D CMAKE_CXX_COMPILER=${{matrix.compiler}} `
|
|
|
68 -D CMAKE_BUILD_TYPE=Release `
|
|
|
69 -D VULKAN_HEADERS_ENABLE_TESTS=ON `
|
|
|
70 -D VULKAN_HEADERS_ENABLE_INSTALL=ON `
|
|
|
71 - run: cmake --build ./build
|
|
|
72 - run: cmake --install build/ --prefix build/install
|
|
|
73 - run: ctest --output-on-failure
|
|
|
74 working-directory: build
|
|
|
75
|
|
|
76 cmake-unix-modules:
|
|
|
77 runs-on: ${{ matrix.os }}
|
|
|
78 if: false
|
|
|
79 strategy:
|
|
|
80 matrix:
|
|
|
81 os: [ ubuntu-latest ]
|
|
|
82 cmake-version: [ 'latest' ]
|
|
|
83 compiler: [ clang++-18 ]
|
|
|
84 steps:
|
|
|
85 - uses: actions/checkout@v5
|
|
|
86 - uses: lukka/get-cmake@latest
|
|
|
87 with:
|
|
|
88 cmakeVersion: ${{ matrix.cmake-version }}
|
|
|
89 - uses: ilammy/msvc-dev-cmd@v1
|
|
|
90 - run: |
|
|
|
91 cmake -S . -B build \
|
|
|
92 -D VULKAN_HEADERS_ENABLE_TESTS=ON \
|
|
|
93 -D VULKAN_HEADERS_ENABLE_INSTALL=ON \
|
|
|
94 -D CMAKE_CXX_COMPILER=${{ matrix.compiler }} \
|
|
|
95 - run: cmake --build ./build
|
|
|
96 - run: cmake --install build/ --prefix build/install
|
|
|
97 - run: CXX=${{ matrix.compiler }} ctest --output-on-failure
|
|
|
98 working-directory: build
|
|
|
99
|
|
|
100 cmake-windows-modules:
|
|
|
101 runs-on: ${{ matrix.os }}
|
|
|
102 if: false
|
|
|
103 strategy:
|
|
|
104 matrix:
|
|
|
105 os: [ windows-latest ]
|
|
|
106 cmake-version: [ 'latest' ]
|
|
|
107 steps:
|
|
|
108 - uses: actions/checkout@v5
|
|
|
109 - uses: lukka/get-cmake@latest
|
|
|
110 with:
|
|
|
111 cmakeVersion: ${{ matrix.cmake-version }}
|
|
|
112 - uses: ilammy/msvc-dev-cmd@v1
|
|
|
113 - run: |
|
|
|
114 cmake -S . -B build `
|
|
|
115 -D VULKAN_HEADERS_ENABLE_TESTS=ON `
|
|
|
116 -D VULKAN_HEADERS_ENABLE_INSTALL=ON `
|
|
|
117 - run: cmake --build ./build
|
|
|
118 - run: cmake --install build/ --prefix build/install
|
|
|
119 - run: ctest --output-on-failure
|
|
|
120 working-directory: build
|
|
|
121
|
|
|
122 reuse:
|
|
|
123 runs-on: ubuntu-latest
|
|
|
124 if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
|
125 steps:
|
|
|
126 - uses: actions/checkout@v5
|
|
|
127 - name: REUSE Compliance Check
|
|
|
128 uses: fsfe/reuse-action@v6
|