Browse Source

add arch+compat to win test output

ell 1 year ago
parent
commit
38ef55ee32
1 changed files with 68 additions and 10 deletions
  1. 68 10
      .github/workflows/main.yml

+ 68 - 10
.github/workflows/main.yml

@@ -3,7 +3,7 @@ on: [push, pull_request]
 
 jobs:
   linux-os:
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     env:
       ALSOFT_CONF: resources/alsoft.conf
       DISPLAY: :99
@@ -19,7 +19,8 @@ jobs:
                                           libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev \
                                           libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-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
       uses: actions/checkout@v3
       with:
@@ -71,6 +72,7 @@ jobs:
       uses: actions/upload-artifact@v3
       with:
         name: test-output-linux-opengl
+        path: test-output-linux-opengl.zip
     # linux opengles tests
     - name: Run Test Suite (opengles)
       run: |
@@ -89,6 +91,26 @@ jobs:
       uses: actions/upload-artifact@v3
       with:
         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
       # should always stop xvfb and openbox even if other steps failed
       if: always()
@@ -286,8 +308,8 @@ jobs:
       if: steps.vars.outputs.arch != 'ARM64'
       uses: ellraiser/love-test-report@main
       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
     - name: Zip Test Output (opengl)
       if: steps.vars.outputs.arch != 'ARM64'
@@ -297,8 +319,8 @@ jobs:
       if: steps.vars.outputs.arch != 'ARM64'
       uses: actions/upload-artifact@v3
       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
     - name: Run Tests (opengles)
       if: steps.vars.outputs.arch != 'ARM64'
@@ -309,8 +331,8 @@ jobs:
       if: steps.vars.outputs.arch != 'ARM64'
       uses: ellraiser/love-test-report@main
       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
     - name: Zip Test Output (opengles)
       if: steps.vars.outputs.arch != 'ARM64'
@@ -320,8 +342,44 @@ jobs:
       if: steps.vars.outputs.arch != 'ARM64'
       uses: actions/upload-artifact@v3
       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:
     runs-on: macos-latest
     steps: