diff --git a/.github/actions/vulkan/action.yml b/.github/actions/vulkan/action.yml new file mode 100644 index 000000000..d12466c1a --- /dev/null +++ b/.github/actions/vulkan/action.yml @@ -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}! diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index 43e8c8814..35cf9b828 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -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 diff --git a/.github/workflows/build_mac.yml b/.github/workflows/build_mac.yml index d17b852f7..60263c5d7 100644 --- a/.github/workflows/build_mac.yml +++ b/.github/workflows/build_mac.yml @@ -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 diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml index ed029846f..c6a841d06 100644 --- a/.github/workflows/build_windows.yml +++ b/.github/workflows/build_windows.yml @@ -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