qt-tests/.gitea/workflows/qt-linux-arm64.yml
OpenClaw Bot 7b056fb78e
All checks were successful
qt-linux-arm64 / qt-linux-arm64 (push) Successful in 47s
qt-linux-amd64 / qt-linux-amd64 (push) Successful in 1m3s
Initial qt-tests tray app with split amd64/arm64 AppImage CI workflows
2026-03-14 16:24:26 +00:00

67 lines
2.5 KiB
YAML

name: qt-linux-arm64
on:
push:
branches: [ main ]
tags: [ 'v*' ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
qt-linux-arm64:
runs-on: arm64-native
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y \
build-essential cmake ninja-build qt6-base-dev \
imagemagick file curl
- name: Configure + build
run: |
set -eu
cmake -S . -B build-out -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build-out --parallel "$(nproc)"
- name: Build AppImage (arm64)
run: |
set -eu
rm -rf AppDir artifacts
mkdir -p AppDir/usr/bin AppDir/usr/share/applications AppDir/usr/share/icons/hicolor/256x256/apps artifacts
cp build-out/qt_tray_demo AppDir/usr/bin/qt_tray_demo
chmod +x AppDir/usr/bin/qt_tray_demo
convert build/appicon.svg -resize 256x256 AppDir/usr/share/icons/hicolor/256x256/apps/qt_tray_demo.png
cat > AppDir/usr/share/applications/qt_tray_demo.desktop <<'DESKTOP'
[Desktop Entry]
Type=Application
Name=Qt Tray Demo
Exec=qt_tray_demo
Icon=qt_tray_demo
Terminal=false
Categories=Utility;
DESKTOP
curl -L -o linuxdeploy.AppImage https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-aarch64.AppImage
curl -L -o linuxdeploy-plugin-qt.AppImage https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-aarch64.AppImage
chmod +x linuxdeploy.AppImage linuxdeploy-plugin-qt.AppImage
export QMAKE=qmake6
APPIMAGE_EXTRACT_AND_RUN=1 ./linuxdeploy.AppImage --appdir AppDir \
-e AppDir/usr/bin/qt_tray_demo \
-d AppDir/usr/share/applications/qt_tray_demo.desktop \
-i AppDir/usr/share/icons/hicolor/256x256/apps/qt_tray_demo.png \
--plugin qt --output appimage
generated=$(ls -1 *.AppImage | head -n 1)
out="artifacts/qt_tray_demo-linux-arm64-run${{ github.run_number }}.AppImage"
mv "$generated" "$out"
chmod +x "$out"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: qt_tray_demo-linux-arm64-run${{ github.run_number }}
path: artifacts/
retention-days: 14