Browse Source

test the test workflow

ell 1 year ago
parent
commit
58fa1c8ccd
1 changed files with 261 additions and 3 deletions
  1. 261 3
      .github/workflows/testsuite.yml

+ 261 - 3
.github/workflows/testsuite.yml

@@ -1,5 +1,4 @@
 name: testsuite
 name: testsuite
-
 on:
 on:
   workflow_run:
   workflow_run:
     workflows: ["continuous-integration"]
     workflows: ["continuous-integration"]
@@ -10,8 +9,267 @@ jobs:
   macos-latest:
   macos-latest:
     runs-on: macos-latest
     runs-on: macos-latest
     steps:
     steps:
-    - name: Download artifact
+    - name: Checkout Repo
+      uses: actions/checkout@v4
+    - name: Download Artifacts From CI
+      uses: dawidd6/action-download-artifact@v2
+      with:
+        workflow: main.yaml
+        workflow_conclusion: success
+        name: love-macos
+    - name: Unzip Love
+      run: 
+        echo 'check downloaded'
+        ls
+#    - name: Run Test Suite
+#      run: CHECK_PATH/love.app/Contents/MacOS/love ./testing/main.lua
+#    - name: Love Test Report
+#      uses: ellraiser/love-test-report@main
+#      with:
+#        name: Love Testsuite MacOS
+#        title: test-report-macos
+#        path: output/lovetest_runAllTests.md
+#    - name: Zip Test Output
+#      run: |
+#        7z a -tzip test-output-macos-opengl.zip output/
+#    - name: Artifact Test Output
+#      uses: actions/upload-artifact@v3
+#      with:
+#        name: test-output-macos-opengl
+#        path: test-output-macos-opengl.zip
+  windows-latest:
+    runs-on: windows-latest
+    env: 
+      ALSOFT_CONF: resources/alsoft.conf
+      VK_ICD_FILENAMES: ${{ github.workspace }}\mesa\x64\lvp_icd.x86_64.json
+      VULKAN_SDK: C:/VulkanSDK/1.3.231.1
+    steps:
+    - name: Checkout Repo
+      uses: actions/checkout@v4
+    - name: Download Artifacts From CI
+      uses: dawidd6/action-download-artifact@v2
+      with:
+        workflow: main.yaml
+        workflow_conclusion: success
+        name: love-windows-x64
+    - name: Unzip Love
+      run: 
+        echo 'check downloaded'
+        ls
+#    - name: Install Mesa 
+#      run: |
+#        curl -L --output mesa.7z --url https://github.com/pal1000/mesa-dist-win/releases/download/23.2.1/mesa3d-23.2.1-release-msvc.7z
+#        7z x mesa.7z -o*
+#        powershell.exe mesa\systemwidedeploy.cmd 1
+#    - name: Run Tests (opengl)
+#      run: powershell.exe ./CHECK_PATH/lovec.exe ./testing/main.lua
+#    - name: Love Test Report (opengl)
+#      uses: ellraiser/love-test-report@main
+#      with:
+#        name: Love Testsuite Windows (opengl)
+#        title: test-report-windows-opengl
+#        path: output/lovetest_runAllTests.md
+#    - name: Zip Test Output (opengl)
+#      run: |
+#        7z a -tzip test-output-windows-opengl.zip output\
+#    - name: Artifact Test Output (opengl)
+#      uses: actions/upload-artifact@v3
+#      with:
+#        name: test-output-windows-opengl
+#        path: test-output-windows-opengl.zip
+#    - name: Run Tests (opengles)
+#      run: |
+#        $ENV:LOVE_GRAPHICS_USE_OPENGLES=1
+#        powershell.exe ./CHECK_PATH/lovec.exe ./testing/main.lua
+#    - name: Love Test Report (opengles)
+#      uses: ellraiser/love-test-report@main
+#      with:
+#        name: Love Testsuite Windows (opengles)
+#        title: test-report-windows-opengles
+#        path: output/lovetest_runAllTests.md
+#    - name: Zip Test Output (opengles)
+#      run: |
+#        7z a -tzip test-output-windows-opengles.zip output\
+#    - name: Artifact Test Output (opengles)
+#      uses: actions/upload-artifact@v3
+#      with:
+#        name: test-output-windows-opengles
+#        path: test-output-windows-opengles.zip
+#    - name: Install Vulkan
+#      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
+#    - name: Run Tests (vulkan)
+#      run: |
+#        $ENV:LOVE_GRAPHICS_DEBUG=1
+#        powershell.exe ./CHECK_PATH/lovec.exe ./testing/main.lua --runAllTests --renderers vulkan
+#    - name: Love Test Report (vulkan)
+#      uses: ellraiser/love-test-report@main
+#      with:
+#        name: Love Testsuite Windows (vulkan)
+#        title: test-report-windows-vulkan
+#        path: output/lovetest_runAllTests.md
+#    - name: Zip Test Output (vulkan)
+#      run: |
+#        7z a -tzip test-output-windows-vulkan.zip output/
+#    - name: Artifact Test Output (vulkan)
+#      uses: actions/upload-artifact@v3
+#      with:
+#        name: test-output-windows-vulkan
+#        path: test-output-windows-vulkan.zip
+  linux-ubuntu:
+    runs-on: ubuntu-20.04
+    env:
+      ALSOFT_CONF: resources/alsoft.conf
+      DISPLAY: :99
+    steps:
+    - name: Checkout Repo
+      uses: actions/checkout@v4
+    - name: Download Artifacts From CI
+      uses: dawidd6/action-download-artifact@v2
+      with:
+        workflow: main.yaml
+        workflow_conclusion: success
+        name: love-linux-x86_64.AppImage
+    - name: Unzip Love
+      run: 
+        echo 'check downloaded'
+        ls
+        echo 'chmod a+x here'
+#    - name: Update APT
+#      run: sudo apt-get update
+#    - name: Install Dependencies
+#      run: |
+#        sudo apt-get install --assume-yes build-essential git make cmake autoconf automake \
+#                                          libtool pkg-config libasound2-dev libpulse-dev libaudio-dev \
+#                                          libjack-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev \
+#                                          libxfixes-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev \
+#                                          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 \
+#                                          libfuse2 wmctrl openbox
+#    - name: Start xvfb and openbox
+#      run: |
+#        echo "Starting XVFB on $DISPLAY"
+#        Xvfb $DISPLAY -screen 0, 360x240x24 &
+#        echo "XVFBPID=$!" >> $GITHUB_ENV
+#        # wait for xvfb to startup (3s is the same amount xvfb-run waits by default)
+#        sleep 3
+#        openbox &
+#        echo "OPENBOXPID=$!" >> $GITHUB_ENV
+#    # linux opengl tests
+#    - name: Run Test Suite (opengl)
+#      run: |
+#        CHECK_PATH/love12.AppImage ./testing/main.lua 
+#    - name: Love Test Report (opengl)
+#      uses: ellraiser/love-test-report@main
+#      with:
+#        name: Love Testsuite Linux
+#        title: test-report-linux-opengl
+#        path: output/lovetest_runAllTests.md
+#    - name: Zip Test Output (opengl)
+#      run: |
+#        7z a -tzip test-output-linux-opengl.zip output/
+#    - name: Artifact Test Output (opengl)
+#      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: |
+#        export LOVE_GRAPHICS_USE_OPENGLES=1
+#        CHECK_PATH/love12.AppImage ./testing/main.lua 
+#    - name: Love Test Report (opengles)
+#      uses: ellraiser/love-test-report@main
+#      with:
+#        name: Love Testsuite Linux
+#        title: test-report-linux-opengles
+#        path: output/lovetest_runAllTests.md
+#    - name: Zip Test Output (opengles)
+#      run: |
+#        7z a -tzip test-output-linux-opengles.zip output\
+#    - name: Artifact Test Output (opengles)
+#      uses: actions/upload-artifact@v3
+#      with:
+#        name: test-output-linux-opengles
+#        path: test-output-linux-opengles.zip
+#    - name: Stop xvfb and openbox
+#      # should always stop xvfb and openbox even if other steps failed
+#      if: always()
+#      run: |
+#        kill $XVFBPID
+#        kill $OPENBOXPID
+  linux-vulkan:
+    runs-on: ubuntu-22.04
+    env:
+      ALSOFT_CONF: resources/alsoft.conf
+      DISPLAY: :99
+    steps:
+    - name: Checkout Repo
+      uses: actions/checkout@v4
+    - name: Download Artifacts From CI
       uses: dawidd6/action-download-artifact@v2
       uses: dawidd6/action-download-artifact@v2
       with:
       with:
-        workflow: ${{ github.event.workflow_run.workflow_id }}
+        workflow: main.yaml
         workflow_conclusion: success
         workflow_conclusion: success
+        name: love-linux-x86_64.AppImage
+    - name: Unzip Love
+      run: 
+        echo 'check downloaded'
+        ls
+        echo 'chmod a+x here'
+#    - name: Update APT
+#      run: sudo apt-get update
+#    - name: Install Dependencies
+#      run: |
+#        sudo apt-get install --assume-yes build-essential git make cmake autoconf automake \
+#                                          libtool pkg-config libasound2-dev libpulse-dev libaudio-dev \
+#                                          libjack-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev \
+#                                          libxfixes-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev \
+#                                          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 \
+#                                          libfuse2 wmctrl openbox mesa-vulkan-drivers libvulkan1 vulkan-tools \
+#                                          vulkan-validationlayers
+#    - name: Start xvfb and openbox
+#      run: |
+#        echo "Starting XVFB on $DISPLAY"
+#        Xvfb $DISPLAY -screen 0, 360x240x24 &
+#        echo "XVFBPID=$!" >> $GITHUB_ENV
+#        # wait for xvfb to startup (3s is the same amount xvfb-run waits by default)
+#        sleep 3
+#        openbox &
+#        echo "OPENBOXPID=$!" >> $GITHUB_ENV
+#    # linux vulkan tests
+#    - name: Run Test Suite (vulkan)
+#      run: |
+#        export LOVE_GRAPHICS_DEBUG=1
+#        CHECK_PATH/love12.AppImage ./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: output/lovetest_runAllTests.md
+#    - name: Zip Test Output (vulkan)
+#      run: |
+#        7z a -tzip test-output-linux-vulkan.zip 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()
+#      run: |
+#        kill $XVFBPID
+#        kill $OPENBOXPID