Add reusable action for vulkan setup in github actions

This commit is contained in:
Wojciech Figat
2022-01-17 13:59:54 +01:00
parent d54f2e615d
commit 31dc2b25a0
4 changed files with 49 additions and 52 deletions

39
.github/actions/vulkan/action.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Setup Vulkan SDK
description: Downloads and installs Vulkan SDK.
inputs:
vulkan-version:
description: 'Vulkan SDK release version (e.g. 1.2.198.1).'
default: '1.2.198.1'
required: false
runs:
using: "composite"
steps:
- name: Setup Vulkan SDK
shell: bash
run: |
export VULKAN_SDK_VER=${{ inputs.vulkan-version }}
echo VULKAN_SDK_VER=$VULKAN_SDK_VER >> $GITHUB_ENV
echo "Downloading Vulkan SDK version $VULKAN_SDK_VER"
case `uname -s` in
Linux)
export VULKAN_SDK_ROOT=`pwd`/VulkanSDK
wget "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/linux/vulkan-sdk.tar.gz" --no-verbose -O vulkan-sdk.tar.gz
mkdir $VULKAN_SDK_ROOT
tar -xf vulkan-sdk.tar.gz -C $VULKAN_SDK_ROOT
echo VULKAN_SDK=$VULKAN_SDK_ROOT/$VULKAN_SDK_VER/x86_64 >> $GITHUB_ENV
;;
Darwin)
export VULKAN_SDK_ROOT=`pwd`/VulkanSDK
curl -LO "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/mac/vulkan-sdk.dmg"
hdiutil attach vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk
sudo "/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan" --root $VULKAN_SDK_ROOT --accept-licenses --default-answer --confirm-command install
echo VULKAN_SDK=$VULKAN_SDK_ROOT/macOS >> $GITHUB_ENV
;;
*) # Windows
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/windows/VulkanSDK-$VULKAN_SDK_VER-Installer.exe" -OutFile vulkan-sdk.exe
.\vulkan-sdk.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install
echo VULKAN_SDK=C:\VulkanSDK >> $GITHUB_ENV
;;
esac
echo Vulkan SDK installed to ${env:VULKAN_SDK}!

View File

@@ -1,11 +1,6 @@
name: Build Linux
on: [push, pull_request]
env:
VULKAN_SDK_VER: 1.2.198.1
VULKAN_SDK_ROOT: /home/runner/work/VulkanSDK
VULKAN_SDK: /home/runner/work/VulkanSDK/1.2.198.1/x86_64
jobs:
# Editor
@@ -22,11 +17,7 @@ jobs:
sudo apt-get update
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Setup Vulkan
run: |
wget "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/linux/vulkan-sdk.tar.gz" --no-verbose -O vulkan-sdk.tar.gz
mkdir $VULKAN_SDK_ROOT
tar -xf vulkan-sdk.tar.gz -C $VULKAN_SDK_ROOT
echo Vulkan SDK installed!
uses: ./.github/actions/vulkan
- name: Checkout LFS
run: |
git lfs version
@@ -46,11 +37,7 @@ jobs:
run: |
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev
- name: Setup Vulkan
run: |
wget "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/linux/vulkan-sdk.tar.gz" --no-verbose -O vulkan-sdk.tar.gz
mkdir $VULKAN_SDK_ROOT
tar -xf vulkan-sdk.tar.gz -C $VULKAN_SDK_ROOT
echo Vulkan SDK installed!
uses: ./.github/actions/vulkan
- name: Checkout LFS
run: |
git lfs version

View File

@@ -1,10 +1,6 @@
name: Build macOS
on: [push, pull_request]
env:
VULKAN_SDK_ROOT: /Users/runner/VulkanSDK
VULKAN_SDK: /Users/runner/VulkanSDK/macOS
jobs:
# Editor
@@ -12,14 +8,10 @@ jobs:
name: Editor (Mac, Development x64)
runs-on: "macos-latest"
steps:
- name: Setup Vulkan
run: |
curl -LO "https://sdk.lunarg.com/sdk/download/latest/mac/vulkan-sdk.dmg"
hdiutil attach vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk
sudo "/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan" --root "$VULKAN_SDK_ROOT" --accept-licenses --default-answer --confirm-command install
echo Vulkan SDK installed!
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Checkout LFS
run: |
git lfs version
@@ -33,14 +25,10 @@ jobs:
name: Game (Mac, Release x64)
runs-on: "macos-latest"
steps:
- name: Setup Vulkan
run: |
curl -LO "https://sdk.lunarg.com/sdk/download/latest/mac/vulkan-sdk.dmg"
hdiutil attach vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk
sudo "/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan" --root "$VULKAN_SDK_ROOT" --accept-licenses --default-answer --confirm-command install
echo Vulkan SDK installed!
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Checkout LFS
run: |
git lfs version

View File

@@ -1,9 +1,6 @@
name: Build Windows
on: [push, pull_request]
env:
VULKAN_SDK: C:\VulkanSDK\
jobs:
# Editor
@@ -11,17 +8,10 @@ jobs:
name: Editor (Windows, Development x64)
runs-on: "windows-latest"
steps:
- name: Setup Vulkan
run: |
$ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows
echo "Vulkan SDK version $ver"
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/$ver/windows/VulkanSDK-$ver-Installer.exe" -OutFile VulkanSDK.exe
echo "Vulkan SDK downloaded"
.\VulkanSDK.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install
echo "Vulkan SDK installed!"
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Checkout LFS
run: |
git lfs version
@@ -35,17 +25,10 @@ jobs:
name: Game (Windows, Release x64)
runs-on: "windows-latest"
steps:
- name: Setup Vulkan
run: |
$ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows
echo "Vulkan SDK version $ver"
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/$ver/windows/VulkanSDK-$ver-Installer.exe" -OutFile VulkanSDK.exe
echo "Vulkan SDK downloaded"
.\VulkanSDK.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install
echo "Vulkan SDK installed!"
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Checkout LFS
run: |
git lfs version