Browse Source

workflow changes #1

ell 1 year ago
parent
commit
0d338b0c0d
2 changed files with 93 additions and 276 deletions
  1. 93 1
      .github/workflows/main.yml
  2. 0 275
      .github/workflows/testsuite.yml

+ 93 - 1
.github/workflows/main.yml

@@ -4,6 +4,9 @@ on: [push, pull_request]
 jobs:
   linux-os:
     runs-on: ubuntu-20.04
+    env:
+      ALSOFT_CONF: resources/alsoft.conf
+      DISPLAY: :99
     steps:
     - name: Update APT
       run: sudo apt-get update
@@ -16,7 +19,7 @@ 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
+                                          libcurl4-openssl-dev libfuse2 wmctrl openbox
     - name: Checkout love-appimage-source
       uses: actions/checkout@v3
       with:
@@ -40,6 +43,42 @@ jobs:
       run: make LOVE_BRANCH=${{ github.sha }}
     - name: Print LuaJIT branch
       run: git -C LuaJIT-v2.1 branch -v
+    - 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: |
+        echo 'run opengl tests'
+        ls
+        ls love2d-${{ github.sha }}
+        chmod a+x love-${{ github.sha }}.AppImage
+        ./love-${{ github.sha }}.AppImage love2d-${{ github.sha }}/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: love2d-${{ github.sha }}/testing/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
+    - name: Stop xvfb and openbox
+      # should always stop xvfb and openbox even if other steps failed
+      if: always()
+      run: |
+        kill $XVFBPID
+        kill $OPENBOXPID
     - name: Artifact
       uses: actions/upload-artifact@v3
       with:
@@ -52,6 +91,10 @@ jobs:
         path: love-${{ github.sha }}.AppImage-debug.tar.gz
   windows-os:
     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
     strategy:
       matrix:
         platform: [Win32, x64, ARM64]
@@ -206,6 +249,37 @@ jobs:
       with:
         name: love-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-dbg
         path: pdb/Release/*.pdb
+    - 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: Build Test Exe
+      if: steps.vars.outputs.arch != 'ARM64'
+      run: cmake --build build --config Release --target install
+    - name: Run Tests (opengl)
+      if: steps.vars.outputs.arch != 'ARM64'
+      run: |
+        echo 'check dir'
+        ls
+        powershell.exe ./install/lovec.exe ./megasource/libs/love/testing/main.lua
+    - name: Love Test Report (opengl)
+      if: steps.vars.outputs.arch != 'ARM64'
+      uses: ellraiser/love-test-report@main
+      with:
+        name: Love Testsuite Windows (opengl)
+        title: test-report-windows-opengl
+        path: megasource/libs/love/testing/output/lovetest_runAllTests.md
+    - name: Zip Test Output (opengl)
+      if: steps.vars.outputs.arch != 'ARM64'
+      run: |
+        7z a -tzip test-output-windows-opengl.zip output\
+    - name: Artifact Test Output (opengl)
+      if: steps.vars.outputs.arch != 'ARM64'
+      uses: actions/upload-artifact@v3
+      with:
+        name: test-output-windows-opengl
+        path: test-output-windows-opengl.zip
   macOS:
     runs-on: macos-latest
     steps:
@@ -234,6 +308,24 @@ jobs:
       with:
         name: love-macos
         path: love-macos.zip
+    - name: Run Test Suite
+      run: |
+        ls
+        love-macos/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: testing/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
   iOS-Simulator:
     runs-on: macos-latest
     steps:

+ 0 - 275
.github/workflows/testsuite.yml

@@ -1,275 +0,0 @@
-name: testsuite
-on:
-  workflow_run:
-    workflows: ["continuous-integration"]
-    types:
-      - completed
-
-jobs:
-  macos-latest:
-    runs-on: macos-latest
-    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-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
-      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 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