Add reusable action for vulkan setup in github actions
This commit is contained in:
39
.github/actions/vulkan/action.yml
vendored
Normal file
39
.github/actions/vulkan/action.yml
vendored
Normal 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}!
|
||||
17
.github/workflows/build_linux.yml
vendored
17
.github/workflows/build_linux.yml
vendored
@@ -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
|
||||
|
||||
20
.github/workflows/build_mac.yml
vendored
20
.github/workflows/build_mac.yml
vendored
@@ -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
|
||||
|
||||
25
.github/workflows/build_windows.yml
vendored
25
.github/workflows/build_windows.yml
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user