Skip to content

CI

CI #26

Workflow file for this run

name: CI
on:
workflow_dispatch:
env:
VK_VERSION: 1.3.261.1
jobs:
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: cache-vulkansdk
id: cache-vulkansdk
uses: actions/cache@v1
with:
path: "VulkanSDK"
key: "VulkanSDK-{{ VK_VERSION }}-Installer"
- name: vulkansdk
if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
run: |
Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/$env:VK_VERSION/windows/VulkanSDK-$env:VK_VERSION-Installer.exe?Human=true -OutFile VulkanSDK-$env:VK_VERSION-Installer.exe
7z x -aoa ./VulkanSDK-$env:VK_VERSION-Installer.exe -oVulkanSDK
- name: build
run: |
$env:VULKAN_SDK="$(pwd)/VulkanSDK"
mkdir build; cd build
cmake -A x64 ../src
cmake --build . --config Release -j 2
ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: cache-vulkansdk
id: cache-vulkansdk
uses: actions/cache@v1
with:
path: "{{ VK_VERSION }}"
key: "vulkansdk-linux-x86_64-{{ VK_VERSION }}"
- name: vulkansdk
if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
run: |
wget https://sdk.lunarg.com/sdk/download/$VK_VERSION/linux/vulkansdk-linux-x86_64-$VK_VERSION.tar.xz?Human=true -O vulkansdk-linux-x86_64-$VK_VERSION.tar.xz
tar -xf vulkansdk-linux-x86_64-$VK_VERSION.tar.xz
rm -rf $VK_VERSION/source $VK_VERSION/samples
find $VK_VERSION -type f | grep -v -E 'vulkan|glslang' | xargs rm
- name: build
run: |
export VULKAN_SDK=`pwd`/$VK_VERSION/x86_64
mkdir build && cd build
cmake ../src
cmake --build . -j 2
macos:
runs-on: macos-latest
env:
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: cache-vulkansdk
id: cache-vulkansdk
uses: actions/cache@v1
with:
path: "vulkansdk-macos-{{ VK_VERSION }}"
key: "vulkansdk-macos-{{ VK_VERSION }}"
- name: vulkansdk
if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
run: |
pwd
wget https://sdk.lunarg.com/sdk/download/$VK_VERSION/mac/vulkansdk-macos-$VK_VERSION.dmg?Human=true -O vulkansdk-macos-$VK_VERSION.dmg
hdiutil attach vulkansdk-macos-$VK_VERSION.dmg
# cp -r /Volumes/vulkansdk-macos-$VK_VERSION .
sudo /Volumes/vulkansdk-macos-$VK_VERSION/InstallVulkan.app/Contents/MacOS/InstallVulkan --root `pwd`/vulkansdk-macos-$VK_VERSION --accept-licenses --default-answer --confirm-command install
ls -alh
sudo rm -rf vulkansdk-macos-$VK_VERSION/Applications
find vulkansdk-macos-$VK_VERSION -type f | grep -v -E 'vulkan|glslang|MoltenVK' | xargs rm
hdiutil detach /Volumes/vulkansdk-macos-$VK_VERSION
- name: build-x86_64
run: |
export VULKAN_SDK=`pwd`/vulkansdk-macos-$VK_VERSION/macOS
ls -alh vulkan*
mkdir build-x86_64 && cd build-x86_64
cmake -DUSE_STATIC_MOLTENVK=ON -DCMAKE_OSX_ARCHITECTURES="x86_64" \
-DVulkan_INCLUDE_DIR=`pwd`/../vulkansdk-macos-$VK_VERSION/MoltenVK/include \
-DVulkan_LIBRARY=`pwd`/../vulkansdk-macos-$VK_VERSION/MoltenVK/MoltenVK.xcframework/macos-arm64_x86_64/libMoltenVK.a \
../src
cmake --build . -j 3
- name: build-arm64
run: |
export VULKAN_SDK=`pwd`/vulkansdk-macos-$VK_VERSION/macOS
sudo xcode-select --reset
mkdir build-arm64 && cd build-arm64
cmake -DUSE_STATIC_MOLTENVK=ON -DCMAKE_OSX_ARCHITECTURES="arm64" \
-DVulkan_INCLUDE_DIR=`pwd`/../vulkansdk-macos-$VK_VERSION/MoltenVK/include \
-DVulkan_LIBRARY=`pwd`/../vulkansdk-macos-$VK_VERSION/MoltenVK/MoltenVK.xcframework/macos-arm64_x86_64/libMoltenVK.a \
../src
cmake --build . -j 3