1313
1414jobs :
1515 build :
16- runs-on : ubuntu-24.04 # ubuntu-latest
1716 timeout-minutes : 60
1817
19- env : # Use the latest Lazarus source code.
18+ env : # Use the latest Lazarus source code. Copied from: https://sourceforge.net/projects/lazarus/files/Lazarus%20Zip%20_%20GZip/
2019 LAZARUS_URL_TAR_GZ : " https://github.com/GerryFerdinandus/bittorrent-tracker-editor/releases/download/V1.32.0/lazarus.tar.gz"
2120
2221 strategy :
@@ -29,29 +28,46 @@ jobs:
2928 - BUILD_TARGET : gtk2_amd64
3029 RELEASE_FILE_NAME : trackereditor_linux_amd64_gtk2.zip
3130 LAZ_OPT : --widgetset=gtk2
31+ RUNS_ON : ubuntu-24.04
3232
3333 - BUILD_TARGET : qt5_amd64
3434 RELEASE_FILE_NAME : trackereditor_linux_amd64_qt5.zip
3535 LAZ_OPT : --widgetset=qt5
3636 QT_VERSION_CI : ' 5'
37+ RUNS_ON : ubuntu-24.04
3738
3839 - BUILD_TARGET : qt6_amd64
3940 RELEASE_FILE_NAME : trackereditor_linux_amd64_qt6.zip
4041 LAZ_OPT : --widgetset=qt6
4142 QT_VERSION_CI : ' 6'
43+ RUNS_ON : ubuntu-24.04
4244
4345 - BUILD_TARGET : AppImage_amd64
4446 RELEASE_FILE_NAME : trackereditor_linux_amd64_qt6.AppImage
4547 LAZ_OPT : --widgetset=qt6
4648 QT_VERSION_CI : ' 6'
49+ LINUX_DEPLOY_FILE_CPU : x86_64
50+ RUNS_ON : ubuntu-22.04
51+
52+ - BUILD_TARGET : AppImage_arm64
53+ RELEASE_FILE_NAME : trackereditor_linux_arm64_qt6.AppImage
54+ LAZ_OPT : --widgetset=qt6
55+ QT_VERSION_CI : ' 6'
56+ LINUX_DEPLOY_FILE_CPU : aarch64
57+ RUNS_ON : ubuntu-22.04-arm
58+
59+ name : ${{ matrix.BUILD_TARGET }}
60+ runs-on : ${{ matrix.RUNS_ON }}
4761
4862 steps :
4963 - uses : actions/checkout@v4
5064 with :
5165 submodules : true
5266
5367 - name : Install dependency for all build
54- run : sudo apt-get install -y fpc xvfb
68+ run : |
69+ sudo apt-get update
70+ sudo apt-get install -y fpc xvfb
5571 shell : bash
5672
5773 - name : Install dependency for gtk2
@@ -70,14 +86,14 @@ jobs:
7086 shell : bash
7187
7288 - name : Install dependency for AppImage
73- if : matrix.BUILD_TARGET == 'AppImage_amd64'
89+ if : matrix.BUILD_TARGET == 'AppImage_amd64' || matrix.BUILD_TARGET == 'AppImage_arm64'
7490 run : |
7591 # Add wayland plugin and platform theme
7692 sudo apt-get install -y fuse qt6-wayland qt6-xdgdesktopportal-platformtheme qt6-gtk-platformtheme
77- # Use static versions of AppImage builder. So it won't depend on some specific OS image or library version.
78- curl -L -O https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-static-x86_64 .AppImage
79- curl -L -O https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-static-x86_64 .AppImage
80- curl -L -O https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64 .AppImage
93+ # Download/Install AppImage tools
94+ curl -L -O https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${{ matrix.LINUX_DEPLOY_FILE_CPU }} .AppImage
95+ curl -L -O https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-${{ matrix.LINUX_DEPLOY_FILE_CPU }} .AppImage
96+ curl -L -O https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-${{ matrix.LINUX_DEPLOY_FILE_CPU }} .AppImage
8197 chmod +x linuxdeploy-*.AppImage
8298 shell : bash
8399
@@ -138,7 +154,7 @@ jobs:
138154 shell : bash
139155
140156 - name : Create AppImage
141- if : matrix.BUILD_TARGET == 'AppImage_amd64'
157+ if : matrix.BUILD_TARGET == 'AppImage_amd64' || matrix.BUILD_TARGET == 'AppImage_arm64'
142158 # LDAI_NO_APPSTREAM=1: skip checking AppStream metadata for issues
143159 env :
144160 LDAI_NO_APPSTREAM : 1
@@ -148,7 +164,7 @@ jobs:
148164 EXTRA_PLATFORM_PLUGINS : libqwayland-generic.so;libqwayland-egl.so
149165 DEPLOY_PLATFORM_THEMES : true
150166 run : |
151- ./linuxdeploy-static-x86_64 .AppImage \
167+ ./linuxdeploy-${{ matrix.LINUX_DEPLOY_FILE_CPU }} .AppImage \
152168 --output appimage \
153169 --appdir temp_appdir \
154170 --plugin qt \
0 commit comments