| # Copyright (c) 2023 Valve Corporation |
| # Copyright (c) 2023 LunarG, Inc. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| name: Vulkan Utility Library (Build/Tests) |
| |
| on: |
| push: |
| pull_request: |
| branches: |
| - main |
| |
| jobs: |
| build_and_test: |
| runs-on: ${{matrix.os}} |
| strategy: |
| fail-fast: false |
| matrix: |
| config: [Debug, Release] |
| os: [ ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest ] |
| steps: |
| - uses: actions/checkout@v3 |
| - uses: actions/setup-python@v4 |
| with: |
| python-version: '3.8' |
| - name: Configure |
| run: cmake -S. -B build -D VUL_WERROR=ON -D VUL_TESTS=ON -D CMAKE_BUILD_TYPE=${{matrix.config}} -D UPDATE_DEPS=ON |
| - name: Build |
| run: cmake --build build --config ${{matrix.config}} --verbose |
| - name: Tests |
| working-directory: ./build |
| run: ctest -C ${{matrix.config}} --output-on-failure |
| - name: Install |
| run: cmake --install build --prefix ${{ github.workspace }}/install --config ${{matrix.config}} |
| - name: Test find_package support |
| run: | |
| cmake -S tests/find_package -B tests/find_package/build -D CMAKE_PREFIX_PATH="${{ github.workspace }}/install;${{ github.workspace }}/external/Vulkan-Headers/build/install" -D CMAKE_BUILD_TYPE=${{matrix.config}} |
| cmake --build tests/find_package/build --config ${{matrix.config}} --verbose |
| - name: Test add_subdirectory support |
| run: | |
| cmake -S tests/add_subdirectory -B tests/add_subdirectory/build -D CMAKE_BUILD_TYPE=${{matrix.config}} -D GITHUB_VULKAN_HEADER_SOURCE_DIR=${{ github.workspace }}/external/Vulkan-Headers/ |
| cmake --build tests/add_subdirectory/build --config ${{matrix.config}} --verbose |