From 115343780f023669695976de9f82b569b368d649 Mon Sep 17 00:00:00 2001 From: Maciej Szeptuch <765629+Neverous@users.noreply.github.com> Date: Wed, 29 Jan 2025 02:20:00 +0100 Subject: [PATCH] ci: try building arm on linux (#377) --- .github/workflows/asset.yml | 3 +++ .github/workflows/build.yml | 16 ++++++++++++---- .github/workflows/debug.yml | 2 +- .github/workflows/release.yml | 4 ++-- CMakeLists.txt | 2 +- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/workflows/asset.yml b/.github/workflows/asset.yml index bb71d9b..9f76e7c 100644 --- a/.github/workflows/asset.yml +++ b/.github/workflows/asset.yml @@ -31,6 +31,9 @@ jobs: exclude: - qt-version: ${{ inputs.compiler == 'MSVC32' && '6.2.4' || 'none' }} - qt-version: ${{ inputs.compiler == 'MSVC32' && '6.8.1' || 'none' }} + - qt-version: ${{ endsWith(inputs.os, 'arm') && '5.12.12' || 'none' }} + - qt-version: ${{ endsWith(inputs.os, 'arm') && '5.15.2' || 'none' }} + - qt-version: ${{ endsWith(inputs.os, 'arm') && '6.2.4' || 'none' }} steps: - name: Download artifacts uses: actions/download-artifact@v4 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 61b2257..7fbccfd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,6 +34,9 @@ jobs: exclude: - qt-version: ${{ inputs.compiler == 'MSVC32' && '6.2.4' || 'none' }} - qt-version: ${{ inputs.compiler == 'MSVC32' && '6.8.1' || 'none' }} + - qt-version: ${{ endsWith(inputs.os, 'arm') && '5.12.12' || 'none' }} + - qt-version: ${{ endsWith(inputs.os, 'arm') && '5.15.2' || 'none' }} + - qt-version: ${{ endsWith(inputs.os, 'arm') && '6.2.4' || 'none' }} steps: - name: Checkout source code uses: actions/checkout@v4 @@ -54,7 +57,7 @@ jobs: continue-on-error: true - name: Set up Qt environment - uses: jurplel/install-qt-action@v4 + uses: jdpurcell/install-qt-action@v4 with: cache: true version: ${{ matrix.qt-version }} @@ -66,9 +69,14 @@ jobs: if: startsWith(inputs.os, 'ubuntu') - name: Install linuxdeploy - uses: miurahr/install-linuxdeploy-action@v1 - with: - plugins: qt + run: | + DIR=$(mktemp -d) + echo "${DIR}" >> ${GITHUB_PATH} + ARCH=${{ endsWith(inputs.os, 'arm') && 'aarch64' || 'x86_64' }} + wget -c -nv https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${ARCH}.AppImage -O ${DIR}/linuxdeploy.AppImage + wget -c -nv https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-${ARCH}.AppImage -O ${DIR}/linuxdeploy-plugin-qt.AppImage + chmod +x ${DIR}/*.AppImage + shell: bash if: startsWith(inputs.os, 'ubuntu') - name: Install efivar diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml index 1e1c44c..6790ba0 100644 --- a/.github/workflows/debug.yml +++ b/.github/workflows/debug.yml @@ -38,7 +38,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm] compiler: - Clang - GCC diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f4b848c..53651cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm] compiler: - Clang - GCC @@ -96,7 +96,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm] compiler: - Clang - GCC diff --git a/CMakeLists.txt b/CMakeLists.txt index 22f1b6d..6ed0cb6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -467,7 +467,7 @@ elseif(APPLE) ) else() if(NOT LINUXDEPLOY_EXECUTABLE) - find_program(LINUXDEPLOY_EXECUTABLE NAMES linuxdeploy linuxdeploy-x86_64.AppImage) + find_program(LINUXDEPLOY_EXECUTABLE NAMES linuxdeploy linuxdeploy.AppImage linuxdeploy-x86_64.AppImage linuxdeploy-aarch64.AppImage) endif() if(LINUXDEPLOY_EXECUTABLE)