blob: f075a8a0b96e1258af1703a2cd232ca63c82fa9b [file] [log] [blame]
# Copyright (c) 2021 Valve Corporation
# Copyright (c) 2021 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.
#
# Author: Lenny Komow <lenny@lunarg.com>
# Author: Nathaniel Cesario <nathaniel@lunarg.com>
# Author: Mark Lobodzinski <mark@lunarg.com>
name: Linux (formatting, build, test)
on:
push:
pull_request:
branches:
- master
jobs:
code-format:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v2
with:
fetch-depth: '0'
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Execute Source Code Format Checking Script
run: python3 scripts/check_code_format.py --fetch-main --target-refspec=FETCH_HEAD
linux:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
cxx: [g++, clang++]
config: [debug, release]
exclude:
- cc: gcc
cxx: clang++
- cc: clang
cxx: g++
- cc: clang
config: debug
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install build dependencies
run: |
sudo apt-get -qq update
sudo apt-get install -y libxkbcommon-dev libwayland-dev libmirclient-dev libxrandr-dev \
libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-ewmh-dev \
libxcb-randr0-dev cmake
- name: Build and Test Vulkan-ValidationLayers
run: python3 scripts/github_ci_win_linux.py --config ${{ matrix.config }}
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
- name: Test CMake minimum version requirements
run: python3 scripts/cmake_test_min.py
if: matrix.cc == 'gcc' && matrix.config == 'release'
linux-cpp20:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install build dependencies
run: |
sudo apt-get -qq update
sudo apt-get install -y libxkbcommon-dev libwayland-dev libmirclient-dev libxrandr-dev \
libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-ewmh-dev \
libxcb-randr0-dev cmake
- name: Build and Test Vulkan-ValidationLayers
run: python3 scripts/github_ci_win_linux.py --config release --cmake='-DVVL_CPP_STANDARD=20'
env:
CC: clang
CXX: clang++