mirror of
https://github.com/love2d/love.git
synced 2026-08-28 18:26:55 +02:00
Build Linux ARM64 AppImage (#2154)
This commit is contained in:
+22
-15
@@ -3,7 +3,10 @@ on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
Linux:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ${{ matrix.runner }}
|
||||
strategy:
|
||||
matrix:
|
||||
runner: [ubuntu-22.04, ubuntu-24.04-arm]
|
||||
permissions:
|
||||
checks: write
|
||||
pull-requests: write
|
||||
@@ -25,10 +28,14 @@ jobs:
|
||||
libsndio-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev \
|
||||
libcurl4-openssl-dev libfuse2 wmctrl openbox mesa-vulkan-drivers \
|
||||
libvulkan1
|
||||
- name: Install Vulkan SDK
|
||||
if: ${{ runner.arch == 'X64' }}
|
||||
run: |
|
||||
set -e
|
||||
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
||||
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.283-jammy.list https://packages.lunarg.com/vulkan/1.3.283/lunarg-vulkan-1.3.283-jammy.list
|
||||
sudo apt update
|
||||
sudo apt install --assume-yes vulkan-sdk
|
||||
sudo apt-get update
|
||||
sudo apt-get install --assume-yes vulkan-sdk
|
||||
- name: Checkout love-appimage-source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -77,12 +84,12 @@ jobs:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Zip Test Output (opengl)
|
||||
run: |
|
||||
7z a -tzip test-output-linux-opengl.zip love2d-${{ github.sha }}/testing/output/
|
||||
7z a -tzip test-output-linux-opengl-${{ runner.arch }}.zip love2d-${{ github.sha }}/testing/output/
|
||||
- name: Artifact Test Output (opengl)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test-output-linux-opengl-${{ steps.report1.outputs.conclusion }}
|
||||
path: test-output-linux-opengl.zip
|
||||
name: test-output-linux-opengl-${{ runner.arch }}-${{ steps.report1.outputs.conclusion }}
|
||||
path: test-output-linux-opengl-${{ runner.arch }}.zip
|
||||
# linux opengles tests
|
||||
- name: Run Test Suite (opengles)
|
||||
env:
|
||||
@@ -100,16 +107,16 @@ jobs:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Zip Test Output (opengles)
|
||||
run: |
|
||||
7z a -tzip test-output-linux-opengles.zip love2d-${{ github.sha }}/testing/output/
|
||||
7z a -tzip test-output-linux-opengles-${{ runner.arch }}.zip love2d-${{ github.sha }}/testing/output/
|
||||
- name: Artifact Test Output (opengles)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test-output-linux-opengles-${{ steps.report2.outputs.conclusion }}
|
||||
path: test-output-linux-opengles.zip
|
||||
name: test-output-linux-opengles-${{ runner.arch }}-${{ steps.report2.outputs.conclusion }}
|
||||
path: test-output-linux-opengles-${{ runner.arch }}.zip
|
||||
# linux vulkan tests
|
||||
- name: Run Test Suite (vulkan)
|
||||
env:
|
||||
LOVE_GRAPHICS_DEBUG: 1
|
||||
LOVE_GRAPHICS_DEBUG: ${{ runner.arch == 'ARM64' && '0' || '1' }}
|
||||
LOVE_GRAPHICS_VULKAN_ALLOW_SOFTWARE: 1
|
||||
run: |
|
||||
./love-${{ github.sha }}.AppImage love2d-${{ github.sha }}/testing/main.lua --all --isRunner --renderers vulkan
|
||||
@@ -121,12 +128,12 @@ jobs:
|
||||
path: love2d-${{ github.sha }}/testing/output/lovetest_all.md
|
||||
- name: Zip Test Output (vulkan)
|
||||
run: |
|
||||
7z a -tzip test-output-linux-vulkan.zip love2d-${{ github.sha }}/testing/output/
|
||||
7z a -tzip test-output-linux-vulkan-${{ runner.arch }}.zip love2d-${{ github.sha }}/testing/output/
|
||||
- name: Artifact Test Output (vulkan)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test-output-linux-vulkan
|
||||
path: test-output-linux-vulkan.zip
|
||||
name: test-output-linux-vulkan-${{ runner.arch }}
|
||||
path: test-output-linux-vulkan-${{ runner.arch }}.zip
|
||||
- name: Stop xvfb and openbox
|
||||
# should always stop xvfb and openbox even if other steps failed
|
||||
if: always()
|
||||
@@ -136,12 +143,12 @@ jobs:
|
||||
- name: Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: love-linux-x86_64.AppImage
|
||||
name: love-linux-${{ runner.arch }}.AppImage
|
||||
path: love-${{ github.sha }}.AppImage
|
||||
- name: Artifact Debug Symbols
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: love-x86_64-AppImage-debug
|
||||
name: love-${{ runner.arch }}-AppImage-debug
|
||||
path: love-${{ github.sha }}.AppImage-debug.tar.gz
|
||||
- name: Check Tests Passing
|
||||
if: steps.report1.outputs.conclusion == 'failure' || steps.report2.outputs.conclusion == 'failure'
|
||||
|
||||
Reference in New Issue
Block a user