Skip to content

Add Action

Add Action #40

Workflow file for this run

name: test
on:
workflow_dispatch:
pull_request:
branches: [ vnext ]
jobs:
Build:
strategy:
matrix:
os: [windows-2019, windows-2022, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macOS-12, macOS-13, macOS-14]
sdkVersion: [1.3.261.1]
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Run VulkanCI Action
id: run-action
uses: ./
with:
sdkVersion: '${{ matrix.sdkVersion }}'
- name: Test Environment
shell: bash
run: |
check_var() {
local value=$1
local description=$2
local type=$3
echo "$description=$value"
if [ "$type" = "dir" ]; then
if [ ! -d "$value" ]; then
echo "$description is not set to a valid directory"
exit 1
fi
elif [ "$type" = "file" ]; then
if [ ! -f "$value" ]; then
echo "$description is not set to a valid file"
exit 1
fi
elif [ "$type" = "value" ]; then
if [ -z "$value" ]; then
echo "$description is not set to a value"
exit 1
fi
else
echo "Invalid type for $description". Use 'file', 'dir', or 'value'.
exit 1
fi
}
check_var "${{ steps.run-action.outputs.vulkan-install-path }}" "vulkan-install-path" "dir"
check_var "${{ steps.run-action.outputs.swiftshader-install-path }}" "swiftshader-install-path" "dir"
check_var "$VULKAN_SDK" "VULKAN_SDK" "dir"
check_var "$VULKAN_SDK_VERSION" "VULKAN_SDK_VERSION" "value"
check_var "$VK_LAYER_PATH" "VK_LAYER_PATH" "dir"
check_var "$VK_DRIVER_FILES" "VK_DRIVER_FILES" "file"
echo "generated driver manifest:"
cat $VK_DRIVER_FILES
- name: Run Test
shell: bash
run: |
cmake -S test -B build -DVKCI_API_VERSION="${{ matrix.sdkVersion }}" -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE="${{ github.workspace }}"
cmake --build build --config Release
./vulkan-ci-test