vk-bootstrap/.github/workflows/ci_build.yml
2022-02-15 22:06:55 -07:00

93 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, 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++"
}
- {
name: "Ubuntu GCC Release",
os: ubuntu-latest,
type: "release",
build_dir: "build",
cc: "gcc", cxx: "g++"
}
- {
name: "Ubuntu Clang Release",
os: ubuntu-latest,
type: "release",
build_dir: "build",
cc: "clang", cxx: "clang++"
}
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y xorg-dev
- name: CMake Configure
run: cmake -Bbuild -DVK_BOOTSTRAP_WERROR=ON -DVK_BOOTSTRAP_TEST=ON -DCMAKE_BUILD_TYPE=${{matrix.config.type}}
- 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-latest ]
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: CMake Configure
run: cmake -Bbuild -DVK_BOOTSTRAP_WERROR=ON -DVK_BOOTSTRAP_TEST=ON -DCMAKE_BUILD_TYPE=${{matrix.config}}
- name: CMake Build
run: cmake --build build