25
25
26
26
jobs :
27
27
build :
28
- runs-on : ubuntu-22.04
28
+ runs-on : ${{ matrix.runs-on }}
29
29
30
30
strategy :
31
31
matrix :
32
32
BuildType : [Debug, Release]
33
- # Arch: [x64] # Arm64
33
+ runs-on : [ubuntu-24.04-arm, ubuntu-22.04]
34
+ include :
35
+ - runs-on : ubuntu-24.04-arm
36
+ ARTIFACT : QGroundControl-aarch64.AppImage
37
+ PACKAGE : QGroundControl-aarch64
38
+ host : linux_arm64
39
+ arch : linux_gcc_arm64
40
+ - runs-on : ubuntu-22.04
41
+ ARTIFACT : QGroundControl-x86_64.AppImage
42
+ PACKAGE : QGroundControl-x86_64
43
+ host : linux
44
+ arch : linux_gcc_64
34
45
35
46
defaults :
36
47
run :
50
61
fetch-tags : false
51
62
52
63
- name : Get all tags for correct version determination
53
- working-directory : ${{ github.workspace }}
64
+ working-directory : ${{ github.workspace }}
54
65
run : |
55
66
git fetch --all --tags -f --depth 1
56
67
@@ -62,28 +73,21 @@ jobs:
62
73
chmod a+x ./tools/setup/install-dependencies-debian.sh
63
74
sudo ./tools/setup/install-dependencies-debian.sh
64
75
65
- - name : Install Vulkan
66
- run : |
67
- wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
68
- sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list http://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
69
- sudo apt update
70
- sudo apt install vulkan-sdk
71
-
72
76
- name : Setup Caching
73
77
uses : ./.github/actions/cache
74
78
with :
75
- host : linux
76
- target : linux_gcc_64
79
+ host : ${{ matrix.host }}
80
+ target : ${{ matrix.arch }}
77
81
build-type : ${{ matrix.BuildType }}
78
82
cpm-modules : ${{ runner.temp }}/shadow_build_dir/cpm_modules
79
83
80
- - name : Install Qt for Linux (x64)
81
- uses : jurplel/install-qt-action@v4
84
+ - name : Install Qt for Linux
85
+ uses : jurplel/install-qt-action@master
82
86
with :
83
87
version : ${{ env.QT_VERSION }}
84
- host : linux
88
+ host : ${{ matrix.host }}
85
89
target : desktop
86
- arch : linux_gcc_64
90
+ arch : ${{ matrix.arch }}
87
91
dir : ${{ runner.temp }}
88
92
modules : qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d qtsensors
89
93
cache : true
@@ -109,19 +113,19 @@ jobs:
109
113
- name : Sanity check release excecutable
110
114
if : matrix.BuildType == 'Release'
111
115
working-directory : ${{ runner.temp }}/shadow_build_dir
112
- run : xvfb-run -a ./${{ env .ARTIFACT }} --simple-boot-test
116
+ run : xvfb-run -a ./${{ matrix .ARTIFACT }} --simple-boot-test
113
117
114
118
- name : Run unit tests
115
119
if : matrix.BuildType == 'Debug'
116
120
working-directory : ${{ runner.temp }}/shadow_build_dir
117
- run : xvfb-run -a ./${{ env .ARTIFACT }} --unittest
121
+ run : xvfb-run -a ./${{ matrix .ARTIFACT }} --unittest
118
122
119
123
- name : Upload Build File
120
124
if : matrix.BuildType == 'Release'
121
125
uses : ./.github/actions/upload
122
126
with :
123
- artifact_name : ${{ env .ARTIFACT }}
124
- package_name : ${{ env .PACKAGE }}
127
+ artifact_name : ${{ matrix .ARTIFACT }}
128
+ package_name : ${{ matrix .PACKAGE }}
125
129
aws_key_id : ${{ secrets.AWS_ACCESS_KEY_ID }}
126
130
aws_secret_access_key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
127
131
github_token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments