Skip to content

add checking for min lua version and JIT #4

add checking for min lua version and JIT

add checking for min lua version and JIT #4

Workflow file for this run

name: love-test
on: [push, pull_request, workflow_dispatch]
jobs:
macos-latest:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Download Love
run: |
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" --output love12.zip --url "https://api.github.com/repos/love2d/love/actions/artifacts/1339160862/zip"
7z x love12.zip -o*
7z x love12/love-macos.zip -o*
- name: Run Test Suite
run: love-macos/love.app/Contents/MacOS/love main.lua --all --isRunner
- name: Love Test Report
id: report1
uses: ellraiser/love-test-report@main
with:
name: Love Testsuite MacOS
title: test-report-macos
path: output/lovetest_all.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-${{ steps.report1.outputs.conclusion }}
path: test-output-macos-opengl.zip
- name: Check Report Output
if: steps.report1.outputs.conclusion == 'failure'
run: |
echo "${{ steps.report1.outputs.failed }} tests failed"
exit 1
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: 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: Download Love
run: |
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" --output love12.zip --url "https://api.github.com/repos/love2d/love/actions/artifacts/1339169120/zip"
7z x love12.zip -o*
7z x love12/love-12.0-win64.zip -o*
- name: Run Tests (opengl)
run: powershell.exe ./love-12.0-win64/love-12.0-win64/lovec.exe ./ --all --isRunner
- name: Love Test Report (opengl)
id: report1
uses: ellraiser/love-test-report@main
with:
name: Love Testsuite Windows (opengl)
title: test-report-windows-opengl
path: output/lovetest_all.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-${{ steps.report1.outputs.conclusion }}
path: test-output-windows-opengl.zip
- name: Run Tests (opengles)
env:
LOVE_GRAPHICS_USE_OPENGLES: 1
run: |
powershell.exe ./love-12.0-win64/love-12.0-win64/lovec.exe ./ --all --isRunner
- name: Love Test Report (opengles)
id: report2
uses: ellraiser/love-test-report@main
with:
name: Love Testsuite Windows (opengles)
title: test-report-windows-opengles
path: output/lovetest_all.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-${{ steps.report2.outputs.conclusion }}
path: test-output-windows-opengles.zip
- name: Check Report Output
if: steps.report1.outputs.conclusion == 'failure' || steps.report2.outputs.conclusion == 'failure'
run: |
echo "${{ steps.report1.outputs.failed }} opengl tests failed"
echo "${{ steps.report2.outputs.failed }} opengles tests failed"
exit 1
# - 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 ./love-12.0-win64/love-12.0-win64/lovec.exe ./ --all --isRunner --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_all.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-22.04
env:
ALSOFT_CONF: resources/alsoft.conf
DISPLAY: :99
steps:
- 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: Checkout Repo
uses: actions/checkout@v4
- name: Download Love
run: |
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" --output love12.zip --url "https://api.github.com/repos/love2d/love/actions/artifacts/1339164115/zip"
7z x love12.zip -o*
mv love12/love-*.AppImage love12/love12.AppImage
ls love12
chmod +x love12/love12.AppImage
- 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: |
love12/love12.AppImage main.lua --all --isRunner
- name: Love Test Report (opengl)
id: report1
uses: ellraiser/love-test-report@main
with:
name: Love Testsuite Linux
title: test-report-linux-opengl
path: output/lovetest_all.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-${{ steps.report1.outputs.conclusion }}
path: test-output-linux-opengl.zip
# linux opengles tests
- name: Run Test Suite (opengles)
run: |
export LOVE_GRAPHICS_USE_OPENGLES=1
love12/love12.AppImage main.lua --all --isRunner
- name: Love Test Report (opengles)
id: report2
uses: ellraiser/love-test-report@main
with:
name: Love Testsuite Linux
title: test-report-linux-opengles
path: output/lovetest_all.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-${{ steps.report2.outputs.conclusion }}
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
- name: Check Report Output
if: steps.report1.outputs.conclusion == 'failure' || steps.report2.outputs.conclusion == 'failure'
run: |
echo "${{ steps.report1.outputs.failed }} opengl tests failed"
echo "${{ steps.report2.outputs.failed }} opengles tests failed"
exit 1
# linux-vulkan:
# runs-on: ubuntu-22.04
# env:
# ALSOFT_CONF: resources/alsoft.conf
# DISPLAY: :99
# steps:
# - 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: Checkout Repo
# uses: actions/checkout@v4
# - name: Download Love
# run: |
# curl -L -H "Accept: application/vnd.github+json" -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" --output love12.zip --url "https://api.github.com/repos/love2d/love/actions/artifacts/1116038592/zip"
# 7z x love12.zip -o*
# mv love12/love-*.AppImage love12/love12.AppImage
# ls love12
# chmod +x love12/love12.AppImage
# - 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
# love12/love12.AppImage main.lua --all --isRunner --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_all.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