vk-bootstrap/.github/workflows/ci_build.yml
2021-04-16 09:43:29 -06:00

86 lines
2.9 KiB
Python

#!/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, 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