Skip to content

Commit b64bb94

Browse files
authored
Merge pull request #25016 from cbjeukendrup/qt6/next/6.8
Add Qt 6.9 support
2 parents 26e59f6 + 75ffdb7 commit b64bb94

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1724
-345
lines changed

.github/workflows/build_all.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ on:
2424
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
2525
default: ''
2626
required: false
27+
use_qt69:
28+
description: 'Use Qt 6.9'
29+
default: 'off'
30+
required: false
2731
workflow_call:
2832
inputs:
2933
platforms:
@@ -50,6 +54,11 @@ on:
5054
default: ''
5155
type: string
5256
required: false
57+
use_qt69:
58+
description: 'Use Qt 6.9'
59+
default: 'off'
60+
type: string
61+
required: false
5362

5463
defaults:
5564
run:
@@ -66,6 +75,7 @@ jobs:
6675
build_mode: ${{ inputs.build_mode }}
6776
publish: ${{ inputs.publish }}
6877
deploy: ${{ inputs.deploy_backend }}
78+
use_qt69: ${{ inputs.use_qt69 }}
6979

7080
linux_arm32:
7181
name: Linux ARM32
@@ -76,6 +86,7 @@ jobs:
7686
build_mode: ${{ inputs.build_mode }}
7787
publish: ${{ inputs.publish }}
7888
sentry_project: ${{ inputs.sentry_project }}
89+
use_qt69: ${{ inputs.use_qt69 }}
7990

8091
linux:
8192
name: Linux
@@ -86,6 +97,7 @@ jobs:
8697
build_mode: ${{ inputs.build_mode }}
8798
publish: ${{ inputs.publish }}
8899
sentry_project: ${{ inputs.sentry_project }}
100+
use_qt69: ${{ inputs.use_qt69 }}
89101

90102
macos:
91103
name: macOS
@@ -96,6 +108,7 @@ jobs:
96108
build_mode: ${{ inputs.build_mode }}
97109
publish: ${{ inputs.publish }}
98110
sentry_project: ${{ inputs.sentry_project }}
111+
use_qt69: ${{ inputs.use_qt69 }}
99112

100113
windows:
101114
name: Windows
@@ -106,6 +119,7 @@ jobs:
106119
build_mode: ${{ inputs.build_mode }}
107120
publish: ${{ inputs.publish }}
108121
sentry_project: ${{ inputs.sentry_project }}
122+
use_qt69: ${{ inputs.use_qt69 }}
109123

110124
# Dummy build for testing purposes.
111125
dummy:

.github/workflows/build_backend.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ on:
1818
description: 'Deploy: on - deploy'
1919
default: 'off'
2020
required: false
21+
use_qt69:
22+
description: 'Use Qt 6.9'
23+
default: 'off'
24+
required: false
2125
workflow_call:
2226
inputs:
2327
build_mode:
@@ -35,6 +39,11 @@ on:
3539
default: 'off'
3640
type: string
3741
required: false
42+
use_qt69:
43+
description: 'Use Qt 6.9'
44+
default: 'off'
45+
type: string
46+
required: false
3847

3948
jobs:
4049
backend:
@@ -57,9 +66,9 @@ jobs:
5766
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)
5867
5968
DO_PUBLISH='false'
60-
if [ "${{ inputs.publish }}" = "on" ]; then
69+
if [ "${{ inputs.publish }}" = "on" ]; then
6170
DO_PUBLISH='true';
62-
if [ -z "${{ secrets.S3_KEY_CONVERTER }}" ]; then
71+
if [ -z "${{ secrets.S3_KEY_CONVERTER }}" ]; then
6372
echo "::warning::S3_KEY_CONVERTER is empty; publishing to S3 disabled"
6473
DO_PUBLISH='false'
6574
fi
@@ -77,7 +86,7 @@ jobs:
7786
bash ./buildscripts/ci/tools/make_version_env.sh $BUILD_NUMBER
7887
VERSION=$(cat ./build.artifacts/env/build_version.env)
7988
GITHUB_ARTIFACT_NAME="MuseScore-${VERSION}"
80-
89+
8190
VERSION_MAJOR_MINOR=$(echo "$VERSION" | cut -d '.' -f 1,2)
8291
8392
echo "github.repository: ${{ github.repository }}"
@@ -89,6 +98,15 @@ jobs:
8998
echo "VERSION_MAJOR_MINOR=$VERSION_MAJOR_MINOR" | tee -a $GITHUB_ENV
9099
echo "GITHUB_ARTIFACT_NAME=$GITHUB_ARTIFACT_NAME" | tee -a $GITHUB_ENV
91100
101+
- name: Install Qt
102+
uses: jurplel/install-qt-action@v4
103+
with:
104+
version: ${{ inputs.use_qt69 == 'on' && '6.9.*' || '6.2.4' }}
105+
host: 'linux'
106+
target: 'desktop'
107+
arch: 'linux_gcc_64'
108+
modules: 'qt5compat qtnetworkauth qtscxml qtshadertools qtwebsockets'
109+
92110
- name: Setup environment
93111
run: |
94112
bash ./buildscripts/ci/backend/setup.sh
@@ -109,7 +127,7 @@ jobs:
109127
--s3_secret ${{ secrets.S3_SECRET_CONVERTER }} \
110128
--stage ${{ inputs.build_mode }} \
111129
--mu_version ${{ env.VERSION }} \
112-
--mu_version_major_minor ${{ env.VERSION_MAJOR_MINOR }}
130+
--mu_version_major_minor ${{ env.VERSION_MAJOR_MINOR }}
113131
114132
- name: Build Docker (used package from S3)
115133
if: env.DO_PUBLISH == 'true'

.github/workflows/build_linux.yml

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ on:
2020
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
2121
default: ''
2222
required: false
23+
use_qt69:
24+
description: 'Use Qt 6.9'
25+
default: 'off'
26+
required: false
2327
workflow_call:
2428
inputs:
2529
platforms:
@@ -42,6 +46,11 @@ on:
4246
default: ''
4347
type: string
4448
required: false
49+
use_qt69:
50+
description: 'Use Qt 6.9'
51+
default: 'off'
52+
type: string
53+
required: false
4554

4655
jobs:
4756
build:
@@ -50,22 +59,26 @@ jobs:
5059
strategy:
5160
fail-fast: false
5261
matrix:
53-
platform: ${{
54-
(github.event_name != 'workflow_dispatch'
55-
|| (contains(inputs.platforms, 'linux_x64') && contains(inputs.platforms, 'linux_arm64')))
56-
&& fromJson('["linux_x64","linux_arm64"]')
57-
|| (contains(inputs.platforms, 'linux_x64') && fromJson('["linux_x64"]')
58-
|| (contains(inputs.platforms, 'linux_arm64') && fromJson('["linux_arm64"]')
59-
|| fromJson('[]')))
62+
platform: ${{
63+
(github.event_name != 'workflow_dispatch'
64+
|| (contains(inputs.platforms, 'linux_x64') && contains(inputs.platforms, 'linux_arm64')))
65+
&& fromJson('["linux_x64","linux_arm64"]')
66+
|| (contains(inputs.platforms, 'linux_x64') && fromJson('["linux_x64"]')
67+
|| (contains(inputs.platforms, 'linux_arm64') && fromJson('["linux_arm64"]')
68+
|| fromJson('[]')))
6069
}}
6170
include:
6271
- platform: linux_x64
6372
arch: x86_64
6473
runs-on: ubuntu-22.04
74+
qt-host: linux
75+
qt-arch: ${{ inputs.use_qt69 == 'on' && 'linux_gcc_64' || 'gcc_64' }}
6576
dump-symbols-arch: x86-64
6677
- platform: linux_arm64
6778
arch: aarch64
68-
runs-on: ubuntu-22.04-arm
79+
runs-on: ${{ inputs.use_qt69 == 'on' && 'ubuntu-24.04-arm' || 'ubuntu-22.04-arm' }}
80+
qt-host: linux_arm64
81+
qt-arch: linux_gcc_arm64
6982
dump-symbols-arch: aarch64
7083
steps:
7184
- name: Cancel Previous Runs
@@ -165,10 +178,25 @@ jobs:
165178
166179
- name: Register gcc problem matcher
167180
run: echo "::add-matcher::.github/problem_matchers/gcc.json"
168-
181+
182+
- name: Install Qt
183+
# TODO: Change back to jurplel/install-qt-action@v4 when it supports arm64
184+
uses: jdpurcell/install-qt-action@v5
185+
if: ${{ !(matrix.qt-host == 'linux_arm64' && inputs.use_qt69 != 'on') }}
186+
with:
187+
version: ${{ inputs.use_qt69 == 'on' && '6.9.*' || '6.2.4' }}
188+
host: ${{ matrix.qt-host }}
189+
target: 'desktop'
190+
arch: ${{ matrix.qt-arch }}
191+
modules: 'qt5compat qtnetworkauth qtscxml qtshadertools qtwebsockets'
192+
- name: Install Qt 6.2.4 arm64
193+
if: ${{ matrix.qt-host == 'linux_arm64' && inputs.use_qt69 != 'on' }}
194+
run: |
195+
bash ./buildscripts/ci/linux/arm64/install_qt.sh
169196
- name: Setup environment
170197
run: |
171198
bash ./buildscripts/ci/linux/setup.sh --arch ${{ matrix.arch }}
199+
172200
- name: Generate _en.ts files
173201
env:
174202
LUPDATE_ARGS: ""

.github/workflows/build_linux_arm32.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ on:
1616
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
1717
default: ''
1818
required: false
19+
use_qt69:
20+
description: 'Use Qt 6.9'
21+
default: 'off'
22+
required: false
1923
workflow_call:
2024
inputs:
2125
build_mode:
@@ -33,6 +37,11 @@ on:
3337
default: ''
3438
type: string
3539
required: false
40+
use_qt69:
41+
description: 'Use Qt 6.9'
42+
default: 'off'
43+
type: string
44+
required: false
3645

3746
jobs:
3847
linux_arm32:
@@ -120,12 +129,6 @@ jobs:
120129
echo "DO_PUBLISH=$DO_PUBLISH" | tee -a $GITHUB_ENV
121130
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" | tee -a $GITHUB_ENV
122131
123-
# - name: Generate _en.ts files
124-
# env:
125-
# LUPDATE_ARGS: ""
126-
# POSTPROCESS_ARGS: ${{ env.DO_PLACEHOLDER_TRANSLATIONS == 'true' && '--generate-placeholder-translations' || '' }}
127-
# run: |
128-
# bash ./buildscripts/ci/translation/run_lupdate.sh
129132
- name: Update .ts files (tx pull)
130133
if: env.DO_UPDATE_TS == 'true'
131134
uses: transifex/cli-action@v2
@@ -135,7 +138,7 @@ jobs:
135138

136139
- name: Register gcc problem matcher
137140
run: echo "::add-matcher::.github/problem_matchers/gcc.json"
138-
141+
139142
- name: Setup, Generate _en.ts files, Build AppImage, Package, Checksum
140143
env: # For lupdate
141144
LUPDATE_ARGS: ""
@@ -144,8 +147,10 @@ jobs:
144147
C_URL=${SENTRY_URL}; if [ -z "$C_URL" ]; then C_URL="''"; fi
145148
sudo docker run --platform linux/arm -i -v "${PWD}:/MuseScore" -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static "arm32v7/ubuntu:jammy" /bin/bash -c "\
146149
cd /MuseScore && \
150+
git config --global --add safe.directory /MuseScore && \
147151
bash /MuseScore/buildscripts/ci/linux/setup.sh --arch armv7l && \
148-
bash /MuseScore/buildscripts/ci/translation/run_lupdate.sh && \
152+
bash /MuseScore/buildscripts/ci/linux/arm32/install_qt.sh && \
153+
bash /MuseScore/tools/translation/run_lupdate.sh && \
149154
bash /MuseScore/buildscripts/ci/linux/build.sh -n ${{ env.BUILD_NUMBER }} --crash_log_url $C_URL --arch armv7l && \
150155
bash /MuseScore/buildscripts/ci/linux/package.sh --arch armv7l && \
151156
bash /MuseScore/buildscripts/ci/tools/checksum.sh \

.github/workflows/build_macos.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ on:
1616
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
1717
default: ''
1818
required: false
19+
use_qt69:
20+
description: 'Use Qt 6.9'
21+
default: 'off'
22+
required: false
1923
workflow_call:
2024
inputs:
2125
build_mode:
@@ -33,6 +37,11 @@ on:
3337
default: ''
3438
type: string
3539
required: false
40+
use_qt69:
41+
description: 'Use Qt 6.9'
42+
default: 'off'
43+
type: string
44+
required: false
3645

3746
env:
3847
DEVELOPER_DIR: /Applications/Xcode_16.3.app/Contents/Developer
@@ -151,15 +160,24 @@ jobs:
151160
brew install ccache
152161
bash ./buildscripts/ci/tools/setup_ccache_config.sh
153162
163+
- name: Install Qt
164+
uses: jurplel/install-qt-action@v4
165+
with:
166+
version: ${{ inputs.use_qt69 == 'on' && '6.9.*' || '6.2.4' }}
167+
host: 'mac'
168+
target: 'desktop'
169+
arch: 'clang_64'
170+
modules: 'qt5compat qtnetworkauth qtscxml qtshadertools qtwebsockets'
154171
- name: Setup environment
155172
run: |
156173
bash ./buildscripts/ci/macos/setup.sh
174+
157175
- name: Generate _en.ts files
158176
env:
159177
LUPDATE_ARGS: ""
160178
POSTPROCESS_ARGS: "--warn-only ${{ env.DO_PLACEHOLDER_TRANSLATIONS == 'true' && '--generate-placeholder-translations' || '' }}"
161179
run: |
162-
bash ./buildscripts/ci/translation/run_lupdate.sh
180+
bash ./tools/translations/run_lupdate.sh
163181
- name: Update .ts files (tx pull)
164182
if: env.DO_UPDATE_TS == 'true'
165183
uses: transifex/cli-action@v2

.github/workflows/build_nightly.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,6 @@ jobs:
4949
build_mode: 'nightly',
5050
publish: 'on',
5151
sentry_project: 'sandbox'
52+
use_qt69: 'off'
5253
}
5354
})

0 commit comments

Comments
 (0)