|
@@ -3,7 +3,7 @@ on: [push, pull_request]
|
|
|
|
|
|
jobs:
|
|
jobs:
|
|
linux-os:
|
|
linux-os:
|
|
- runs-on: ubuntu-20.04
|
|
|
|
|
|
+ runs-on: ubuntu-22.04
|
|
env:
|
|
env:
|
|
ALSOFT_CONF: resources/alsoft.conf
|
|
ALSOFT_CONF: resources/alsoft.conf
|
|
DISPLAY: :99
|
|
DISPLAY: :99
|
|
@@ -19,7 +19,8 @@ jobs:
|
|
libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev \
|
|
libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev \
|
|
libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-dev \
|
|
libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-dev \
|
|
libsndio-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev \
|
|
libsndio-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev \
|
|
- libcurl4-openssl-dev libfuse2 wmctrl openbox
|
|
|
|
|
|
+ libcurl4-openssl-dev libfuse2 wmctrl openbox mesa-vulkan-drivers \
|
|
|
|
+ libvulkan1 vulkan-tools vulkan-validationlayers
|
|
- name: Checkout love-appimage-source
|
|
- name: Checkout love-appimage-source
|
|
uses: actions/checkout@v3
|
|
uses: actions/checkout@v3
|
|
with:
|
|
with:
|
|
@@ -71,6 +72,7 @@ jobs:
|
|
uses: actions/upload-artifact@v3
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
with:
|
|
name: test-output-linux-opengl
|
|
name: test-output-linux-opengl
|
|
|
|
+ path: test-output-linux-opengl.zip
|
|
# linux opengles tests
|
|
# linux opengles tests
|
|
- name: Run Test Suite (opengles)
|
|
- name: Run Test Suite (opengles)
|
|
run: |
|
|
run: |
|
|
@@ -89,6 +91,26 @@ jobs:
|
|
uses: actions/upload-artifact@v3
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
with:
|
|
name: test-output-linux-opengles
|
|
name: test-output-linux-opengles
|
|
|
|
+ path: test-output-linux-opengles.zip
|
|
|
|
+ # linux vulkan tests
|
|
|
|
+ - name: Run Test Suite (vulkan)
|
|
|
|
+ run: |
|
|
|
|
+ export LOVE_GRAPHICS_DEBUG=1
|
|
|
|
+ ./love-${{ github.sha }}.AppImage love2d-${{ github.sha }}/testing/main.lua --runAllTests --renderers vulkan
|
|
|
|
+ - name: Love Test Report (vulkan)
|
|
|
|
+ uses: ellraiser/love-test-report@main
|
|
|
|
+ with:
|
|
|
|
+ name: Love Testsuite Linux
|
|
|
|
+ title: test-report-linux-vulkan
|
|
|
|
+ path: love2d-${{ github.sha }}/testing/output/lovetest_runAllTests.md
|
|
|
|
+ - name: Zip Test Output (vulkan)
|
|
|
|
+ run: |
|
|
|
|
+ 7z a -tzip test-output-linux-vulkan.zip love2d-${{ github.sha }}/testing/output/
|
|
|
|
+ - name: Artifact Test Output (vulkan)
|
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
|
+ with:
|
|
|
|
+ name: test-output-linux-vulkan
|
|
|
|
+ path: test-output-linux-vulkan.zip
|
|
- name: Stop xvfb and openbox
|
|
- name: Stop xvfb and openbox
|
|
# should always stop xvfb and openbox even if other steps failed
|
|
# should always stop xvfb and openbox even if other steps failed
|
|
if: always()
|
|
if: always()
|
|
@@ -286,8 +308,8 @@ jobs:
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
uses: ellraiser/love-test-report@main
|
|
uses: ellraiser/love-test-report@main
|
|
with:
|
|
with:
|
|
- name: Love Testsuite Windows (opengl)
|
|
|
|
- title: test-report-windows-opengl
|
|
|
|
|
|
+ name: Love Testsuite Windows ${{ steps.vars.outputs.arch }} ${{ steps.vars.outputs.compatname }} (opengl)
|
|
|
|
+ title: test-report-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-opengl
|
|
path: megasource/libs/love/testing/output/lovetest_runAllTests.md
|
|
path: megasource/libs/love/testing/output/lovetest_runAllTests.md
|
|
- name: Zip Test Output (opengl)
|
|
- name: Zip Test Output (opengl)
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
@@ -297,8 +319,8 @@ jobs:
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
uses: actions/upload-artifact@v3
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
with:
|
|
- name: test-output-windows-opengl
|
|
|
|
- path: test-output-windows-opengl.zip
|
|
|
|
|
|
+ name: test-output-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-opengl
|
|
|
|
+ path: test-output-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-opengl.zip
|
|
# windows opengles tests
|
|
# windows opengles tests
|
|
- name: Run Tests (opengles)
|
|
- name: Run Tests (opengles)
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
@@ -309,8 +331,8 @@ jobs:
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
uses: ellraiser/love-test-report@main
|
|
uses: ellraiser/love-test-report@main
|
|
with:
|
|
with:
|
|
- name: Love Testsuite Windows (opengles)
|
|
|
|
- title: test-report-windows-opengles
|
|
|
|
|
|
+ name: Love Testsuite Windows ${{ steps.vars.outputs.arch }} ${{ steps.vars.outputs.compatname }} (opengles)
|
|
|
|
+ title: test-report-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-opengles
|
|
path: megasource/libs/love/testing/output/lovetest_runAllTests.md
|
|
path: megasource/libs/love/testing/output/lovetest_runAllTests.md
|
|
- name: Zip Test Output (opengles)
|
|
- name: Zip Test Output (opengles)
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
@@ -320,8 +342,44 @@ jobs:
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
if: steps.vars.outputs.arch != 'ARM64'
|
|
uses: actions/upload-artifact@v3
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
with:
|
|
- name: test-output-windows-opengles
|
|
|
|
- path: test-output-windows-opengles.zip
|
|
|
|
|
|
+ name: test-output-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-opengles
|
|
|
|
+ path: test-output-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-opengles.zip
|
|
|
|
+ # install vulkan
|
|
|
|
+ - name: Install Vulkan
|
|
|
|
+ if: steps.vars.outputs.arch != 'ARM64'
|
|
|
|
+ run: |
|
|
|
|
+ curl -L --show-error --output VulkanSDK.exe https://sdk.lunarg.com/sdk/download/1.3.231.1/windows/VulkanSDK-1.3.231.1-Installer.exe
|
|
|
|
+ ./VulkanSDK.exe --root C:/VulkanSDK/1.3.231.1 --accept-licenses --default-answer --confirm-command install com.lunarg.vulkan.core com.lunarg.vulkan.vma
|
|
|
|
+ curl -L --show-error --output vulkan-runtime.zip https://sdk.lunarg.com/sdk/download/1.3.231.1/windows/vulkan-runtime-components.zip
|
|
|
|
+ 7z e vulkan-runtime.zip -o"C:/VulkanSDK/1.3.231.1/runtime/x64" */x64
|
|
|
|
+ copy "C:/VulkanSDK/1.3.231.1/runtime/x64/vulkan-1.dll" "mesa/x64"
|
|
|
|
+ copy "C:/VulkanSDK/1.3.231.1/runtime/x64/vulkan-1.dll" "C:/Windows/System32"
|
|
|
|
+ copy "C:/VulkanSDK/1.3.231.1/runtime/x64/vulkan-1.dll" "love-12.0-win64/love-12.0-win64"
|
|
|
|
+ reg add HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers /v "${{ github.workspace }}\mesa\x64\lvp_icd.x86_64.json" /t REG_DWORD /d 0
|
|
|
|
+ powershell.exe C:/VulkanSDK/1.3.231.1/runtime/x64/vulkaninfo.exe --summary
|
|
|
|
+ # windows vulkan tests
|
|
|
|
+ - name: Run Tests (vulkan)
|
|
|
|
+ if: steps.vars.outputs.arch != 'ARM64'
|
|
|
|
+ run: |
|
|
|
|
+ $ENV:LOVE_GRAPHICS_DEBUG=1
|
|
|
|
+ powershell.exe ./install/lovec.exe ./megasource/libs/love/testing/main.lua --runAllTests --renderers vulkan
|
|
|
|
+ - name: Love Test Report (vulkan)
|
|
|
|
+ if: steps.vars.outputs.arch != 'ARM64'
|
|
|
|
+ uses: ellraiser/love-test-report@main
|
|
|
|
+ with:
|
|
|
|
+ name: Love Testsuite Windows ${{ steps.vars.outputs.arch }} ${{ steps.vars.outputs.compatname }} (vulkan)
|
|
|
|
+ title: test-report-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-vulkan
|
|
|
|
+ path: megasource/libs/love/testing/output/lovetest_runAllTests.md
|
|
|
|
+ - name: Zip Test Output (vulkan)
|
|
|
|
+ if: steps.vars.outputs.arch != 'ARM64'
|
|
|
|
+ run: |
|
|
|
|
+ 7z a -tzip test-output-windows-vulkan.zip megasource/libs/love/testing/output/
|
|
|
|
+ - name: Artifact Test Output (vulkan)
|
|
|
|
+ if: steps.vars.outputs.arch != 'ARM64'
|
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
|
+ with:
|
|
|
|
+ name: test-output-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-vulkan
|
|
|
|
+ path: test-output-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-vulkan.zip
|
|
macOS:
|
|
macOS:
|
|
runs-on: macos-latest
|
|
runs-on: macos-latest
|
|
steps:
|
|
steps:
|