Skip to content

Commit be013ed

Browse files
Update CI/CD workflows for Ubuntu and Windows:
- Change Ubuntu runner to use specific versions for AppImage builds. - Refactor AppImage installation steps for amd64 and arm64 - Update Windows runner to use Windows Server 2025.
1 parent e6c1479 commit be013ed

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

.github/workflows/cicd_ubuntu.yaml

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ on:
1313

1414
jobs:
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 \

.github/workflows/cicd_windows.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313

1414
jobs:
1515
build:
16-
runs-on: windows-2022
16+
runs-on: windows-2025
1717
timeout-minutes: 60
1818
env:
1919
LAZBUILD_WITH_PATH: c:/lazarus/lazbuild
@@ -25,12 +25,6 @@ jobs:
2525
with:
2626
submodules: true
2727

28-
- name: Install winget
29-
# winget will be included in windows server 2025
30-
uses: Cyberboss/install-winget@v1
31-
with:
32-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33-
3428
- name: Install Lazarus IDE
3529
run: winget install lazarus --disable-interactivity --accept-source-agreements --silent
3630

0 commit comments

Comments
 (0)