| # Copyright 2022-2023 LunarG, Inc. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| name: ci |
| |
| on: |
| push: |
| pull_request: |
| |
| env: |
| CMAKE_GENERATOR: Ninja |
| |
| permissions: |
| contents: read |
| |
| jobs: |
| cmake-unix: |
| runs-on: ${{ matrix.os }} |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name |
| strategy: |
| matrix: |
| os: [ ubuntu-latest, macos-latest ] |
| cmake-version: [ '3.22.1', 'latest'] |
| steps: |
| - uses: actions/checkout@v6 |
| - uses: lukka/get-cmake@latest |
| with: |
| cmakeVersion: ${{ matrix.cmake-version }} |
| - uses: ilammy/msvc-dev-cmd@v1 |
| - run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON |
| - run: cmake --build ./build |
| - run: cmake --install build/ --prefix build/install |
| - run: ctest --output-on-failure |
| working-directory: build |
| |
| cmake-windows: |
| runs-on: windows-latest |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name |
| strategy: |
| matrix: |
| cmake-version: [ '3.22.1', 'latest'] |
| steps: |
| - uses: actions/checkout@v6 |
| - uses: lukka/get-cmake@latest |
| with: |
| cmakeVersion: ${{ matrix.cmake-version }} |
| - uses: ilammy/msvc-dev-cmd@v1 |
| - run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON |
| - run: cmake --build ./build |
| - run: cmake --install build/ --prefix build/install |
| - run: ctest --output-on-failure |
| working-directory: build |
| |
| windows_clang: |
| runs-on: windows-2022 |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name |
| strategy: |
| matrix: |
| compiler: [ clang, clang-cl ] |
| steps: |
| - uses: actions/checkout@v6 |
| - uses: ilammy/msvc-dev-cmd@v1 |
| - run: | |
| cmake -S . -B build ` |
| -D CMAKE_C_COMPILER=${{matrix.compiler}} ` |
| -D CMAKE_CXX_COMPILER=${{matrix.compiler}} ` |
| -D CMAKE_BUILD_TYPE=Release ` |
| -D VULKAN_HEADERS_ENABLE_TESTS=ON ` |
| -D VULKAN_HEADERS_ENABLE_INSTALL=ON ` |
| - run: cmake --build ./build |
| - run: cmake --install build/ --prefix build/install |
| - run: ctest --output-on-failure |
| working-directory: build |
| |
| cmake-unix-modules: |
| runs-on: ${{ matrix.os }} |
| if: false |
| strategy: |
| matrix: |
| os: [ ubuntu-latest ] |
| cmake-version: [ 'latest' ] |
| compiler: [ clang++-18 ] |
| steps: |
| - uses: actions/checkout@v6 |
| - uses: lukka/get-cmake@latest |
| with: |
| cmakeVersion: ${{ matrix.cmake-version }} |
| - uses: ilammy/msvc-dev-cmd@v1 |
| - run: | |
| cmake -S . -B build \ |
| -D VULKAN_HEADERS_ENABLE_TESTS=ON \ |
| -D VULKAN_HEADERS_ENABLE_INSTALL=ON \ |
| -D CMAKE_CXX_COMPILER=${{ matrix.compiler }} \ |
| - run: cmake --build ./build |
| - run: cmake --install build/ --prefix build/install |
| - run: CXX=${{ matrix.compiler }} ctest --output-on-failure |
| working-directory: build |
| |
| cmake-windows-modules: |
| runs-on: ${{ matrix.os }} |
| if: false |
| strategy: |
| matrix: |
| os: [ windows-latest ] |
| cmake-version: [ 'latest' ] |
| steps: |
| - uses: actions/checkout@v6 |
| - uses: lukka/get-cmake@latest |
| with: |
| cmakeVersion: ${{ matrix.cmake-version }} |
| - uses: ilammy/msvc-dev-cmd@v1 |
| - run: | |
| cmake -S . -B build ` |
| -D VULKAN_HEADERS_ENABLE_TESTS=ON ` |
| -D VULKAN_HEADERS_ENABLE_INSTALL=ON ` |
| - run: cmake --build ./build |
| - run: cmake --install build/ --prefix build/install |
| - run: ctest --output-on-failure |
| working-directory: build |
| |
| reuse: |
| runs-on: ubuntu-latest |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name |
| steps: |
| - uses: actions/checkout@v6 |
| - name: REUSE Compliance Check |
| uses: fsfe/reuse-action@v6 |