#!/usr/bin/env python3 # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated # documentation files (the “Software”), to deal in the Software without restriction, including without # limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies # of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT # LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Copyright © 2021 Charles Giessen (charles@lunarg.com) # name: CI Build on: [push, pull_request, workflow_dispatch] jobs: linux-build: name: ${{ matrix.config.name }} runs-on: ${{ matrix.config.os }} strategy: fail-fast: false matrix: config: - { name: "Ubuntu GCC Debug", os: ubuntu-latest, type: "debug", build_dir: "build", cc: "gcc", cxx: "g++" } - { name: "Ubuntu Clang Debug", os: ubuntu-latest, type: "debug", build_dir: "build", cc: "clang", cxx: "clang++" } steps: - name: Checkout uses: actions/checkout@v2.0.0 - name: Install build dependencies run: | wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list https://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list sudo apt-get -qq update sudo apt-get install -y vulkan-headers libvulkan-dev xorg-dev - name: CMake Configure run: cmake -Bbuild -DVK_BOOTSTRAP_WERROR=ON -DVK_BOOTSTRAP_TEST=ON -DCMAKE_BUILD_TYPE=Debug - name: CMake Build run: cmake --build build windows: name: ${{ matrix.config.name }} runs-on: ${{matrix.os}} strategy: matrix: arch: [ Win32, x64 ] config: [ Debug, Release ] os: [ windows-2016, windows-2019 ] steps: - name: Checkout uses: actions/checkout@v2.0.0 - name: Download and setup Vulkan-Headers run: | git clone https://github.com/KhronosGroup/Vulkan-Headers echo "VULKAN_SDK=./Vulkan-Headers" >> $GITHUB_ENV - name: CMake Configure run: cmake -Bbuild -DVK_BOOTSTRAP_WERROR=ON -DVK_BOOTSTRAP_TEST=ON -DCMAKE_BUILD_TYPE=Debug - name: CMake Build run: cmake --build build