Skip to content

Small improvements of tests (#496) #73

Small improvements of tests (#496)

Small improvements of tests (#496) #73

Workflow file for this run

name: Build code
on:
push:
pull_request:
types: [opened, synchronize, reopened]
jobs:
linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cxx: [g++-12, clang++-15]
build_type: [Debug, Release]
include:
- cxx: g++-12
install: sudo apt install g++-12
- cxx: clang++-15
cxxflags: -stdlib=libc++
install: sudo apt install clang-15 libc++-15-dev libc++abi-15-dev
steps:
- uses: actions/checkout@v4
- name: Set Vulkan SDK Version
id: set-version
run: echo "VULKAN_SDK_VERSION=1.3.283.0" >> $GITHUB_ENV
- name: Create Build Environment
run: |
sudo apt update
${{matrix.install}}
cmake -E make_directory ${{runner.workspace}}/build
- name: Check for Vulkan SDK Cache
id: cache-vulkan
uses: actions/cache@v4
with:
path: vulkan_sdk
key: vulkan-sdk-${{env.VULKAN_SDK_VERSION}}
- name: Download Vulkan SDK
if: steps.cache-vulkan.outputs.cache-hit != 'true'
run: |
curl -LS -o vulkansdk.tar.xz https://sdk.lunarg.com/sdk/download/${{env.VULKAN_SDK_VERSION}}/linux/vulkansdk-linux-x86_64-${{env.VULKAN_SDK_VERSION}}.tar.xz
mkdir -p vulkan_sdk
tar xf vulkansdk.tar.xz -C vulkan_sdk
- name: Set environment variables
run: |
export VULKAN_SDK=$GITHUB_WORKSPACE/vulkan_sdk/${{env.VULKAN_SDK_VERSION}}/x86_64
echo "VULKAN_SDK=$VULKAN_SDK" >> $GITHUB_ENV
echo "PATH=$VULKAN_SDK/bin:$PATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "VK_ICD_FILENAMES=$VULKAN_SDK/etc/vulkan/icd.d" >> $GITHUB_ENV
echo "VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/layer.d" >> $GITHUB_ENV
- name: Configure
working-directory: ${{runner.workspace}}/build
env:
CXX: ${{matrix.cxx}}
CXXFLAGS: ${{matrix.cxxflags}}
run: |
cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
-DVMA_BUILD_SAMPLES=YES \
-DCMAKE_CXX_FLAGS="$CXXFLAGS \
-Wall \
-Wextra \
-Wpedantic \
-Wconversion \
-Wsign-conversion \
-Wshadow \
-Wnull-dereference \
-Wdouble-promotion \
-Wformat=2 \
-Wimplicit-fallthrough \
-Wundef \
-Wcast-align \
-Woverloaded-virtual \
-Wnon-virtual-dtor \
-Wstrict-overflow=5 \
-Wuseless-cast \
-Wduplicated-cond \
-Wduplicated-branches \
-Wlogical-op \
-Wredundant-decls \
-Wstrict-null-sentinel \
-Wold-style-cast" \
-Wcast-qual \
-Wconversion-extra \
-Wstack-usage=2048 \
-Wsuggest-final-types \
-Wsuggest-final-methods \
-Wsuggest-override \
-Wvector-operation-performance \
-Wzero-as-null-pointer-constant \
-Wextra-semi \
-Wmissing-declarations \
-Wmissing-include-dirs \
-Winit-self \
-Wuninitialized \
-Wunused \
-Wunused-parameter \
-Wshadow=local \
$GITHUB_WORKSPACE
- name: Build
working-directory: ${{runner.workspace}}/build
run: |
threads=`nproc`
cmake --build . --config ${{matrix.build_type}} --parallel $threads