Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
5400e8a
Don't use deprecated constructor of QMouseEvent
cbjeukendrup May 14, 2022
e4b2b52
Don't use deprecated QCheckBox::stateChanged
cbjeukendrup Jun 16, 2024
720869c
Update CI for Qt 6.8
cbjeukendrup Dec 15, 2021
635c668
Update unit tests
cbjeukendrup Oct 3, 2024
704fa99
Utilise `qt_standard_project_setup`
cbjeukendrup Apr 27, 2022
980df9e
CMake: Use Qt's `qt_add_{library,executable}`
cbjeukendrup Oct 28, 2024
336acff
Patch KDDockWidgets and dockwindow module for Qt 6.5+
cbjeukendrup Apr 28, 2025
a80a121
Fix size of tooltips and tours
cbjeukendrup Oct 3, 2024
3c20911
Start using QStringLiterals
cbjeukendrup Oct 4, 2024
5972454
Update to Qt 6.9
cbjeukendrup Apr 2, 2025
c537785
Build fixes for Qt 6.9
cbjeukendrup Apr 2, 2025
8ffaba2
Fix deprecation warnings for Qt 6.9
cbjeukendrup Apr 23, 2025
90175ff
Fix context menu with Qt 6.9 (?)
cbjeukendrup Apr 27, 2025
1a93d8e
Temporarily use fork of `install-qt-action` that works on arm64
cbjeukendrup Apr 23, 2025
5e8919f
Qt 6.9 for ARM Linux requires Ubuntu 24.04
cbjeukendrup Apr 23, 2025
3cd44c9
Fix packaging on Ubuntu 24.04
cbjeukendrup Apr 23, 2025
dccac09
added compatible with Qt 6.2 (added QT_USE_IS_69 flag)
igorkorsukov May 14, 2025
296be1d
added use_qt69 option to CI
igorkorsukov May 14, 2025
4bb2404
Use normal Qt version checks
cbjeukendrup May 14, 2025
56608fc
Ensure KDDW patches don't affect pre-Qt 6.5 builds
cbjeukendrup May 15, 2025
75ffdb7
Ensure context menu changes for Qt 6.9 don't affect pre-Qt 6.9 builds
cbjeukendrup May 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ on:
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
default: ''
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
required: false
workflow_call:
inputs:
platforms:
Expand All @@ -50,6 +54,11 @@ on:
default: ''
type: string
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
type: string
required: false

defaults:
run:
Expand All @@ -66,6 +75,7 @@ jobs:
build_mode: ${{ inputs.build_mode }}
publish: ${{ inputs.publish }}
deploy: ${{ inputs.deploy_backend }}
use_qt69: ${{ inputs.use_qt69 }}

linux_arm32:
name: Linux ARM32
Expand All @@ -76,6 +86,7 @@ jobs:
build_mode: ${{ inputs.build_mode }}
publish: ${{ inputs.publish }}
sentry_project: ${{ inputs.sentry_project }}
use_qt69: ${{ inputs.use_qt69 }}

linux:
name: Linux
Expand All @@ -86,6 +97,7 @@ jobs:
build_mode: ${{ inputs.build_mode }}
publish: ${{ inputs.publish }}
sentry_project: ${{ inputs.sentry_project }}
use_qt69: ${{ inputs.use_qt69 }}

macos:
name: macOS
Expand All @@ -96,6 +108,7 @@ jobs:
build_mode: ${{ inputs.build_mode }}
publish: ${{ inputs.publish }}
sentry_project: ${{ inputs.sentry_project }}
use_qt69: ${{ inputs.use_qt69 }}

windows:
name: Windows
Expand All @@ -106,6 +119,7 @@ jobs:
build_mode: ${{ inputs.build_mode }}
publish: ${{ inputs.publish }}
sentry_project: ${{ inputs.sentry_project }}
use_qt69: ${{ inputs.use_qt69 }}

# Dummy build for testing purposes.
dummy:
Expand Down
26 changes: 22 additions & 4 deletions .github/workflows/build_backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ on:
description: 'Deploy: on - deploy'
default: 'off'
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
required: false
workflow_call:
inputs:
build_mode:
Expand All @@ -35,6 +39,11 @@ on:
default: 'off'
type: string
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
type: string
required: false

jobs:
backend:
Expand All @@ -57,9 +66,9 @@ jobs:
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)

DO_PUBLISH='false'
if [ "${{ inputs.publish }}" = "on" ]; then
if [ "${{ inputs.publish }}" = "on" ]; then
DO_PUBLISH='true';
if [ -z "${{ secrets.S3_KEY_CONVERTER }}" ]; then
if [ -z "${{ secrets.S3_KEY_CONVERTER }}" ]; then
echo "::warning::S3_KEY_CONVERTER is empty; publishing to S3 disabled"
DO_PUBLISH='false'
fi
Expand All @@ -77,7 +86,7 @@ jobs:
bash ./buildscripts/ci/tools/make_version_env.sh $BUILD_NUMBER
VERSION=$(cat ./build.artifacts/env/build_version.env)
GITHUB_ARTIFACT_NAME="MuseScore-${VERSION}"

VERSION_MAJOR_MINOR=$(echo "$VERSION" | cut -d '.' -f 1,2)

echo "github.repository: ${{ github.repository }}"
Expand All @@ -89,6 +98,15 @@ jobs:
echo "VERSION_MAJOR_MINOR=$VERSION_MAJOR_MINOR" | tee -a $GITHUB_ENV
echo "GITHUB_ARTIFACT_NAME=$GITHUB_ARTIFACT_NAME" | tee -a $GITHUB_ENV

- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ inputs.use_qt69 == 'on' && '6.9.*' || '6.2.4' }}
host: 'linux'
target: 'desktop'
arch: 'linux_gcc_64'
modules: 'qt5compat qtnetworkauth qtscxml qtshadertools qtwebsockets'

- name: Setup environment
run: |
bash ./buildscripts/ci/backend/setup.sh
Expand All @@ -109,7 +127,7 @@ jobs:
--s3_secret ${{ secrets.S3_SECRET_CONVERTER }} \
--stage ${{ inputs.build_mode }} \
--mu_version ${{ env.VERSION }} \
--mu_version_major_minor ${{ env.VERSION_MAJOR_MINOR }}
--mu_version_major_minor ${{ env.VERSION_MAJOR_MINOR }}

- name: Build Docker (used package from S3)
if: env.DO_PUBLISH == 'true'
Expand Down
46 changes: 37 additions & 9 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ on:
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
default: ''
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
required: false
workflow_call:
inputs:
platforms:
Expand All @@ -42,6 +46,11 @@ on:
default: ''
type: string
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
type: string
required: false

jobs:
build:
Expand All @@ -50,22 +59,26 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: ${{
(github.event_name != 'workflow_dispatch'
|| (contains(inputs.platforms, 'linux_x64') && contains(inputs.platforms, 'linux_arm64')))
&& fromJson('["linux_x64","linux_arm64"]')
|| (contains(inputs.platforms, 'linux_x64') && fromJson('["linux_x64"]')
|| (contains(inputs.platforms, 'linux_arm64') && fromJson('["linux_arm64"]')
|| fromJson('[]')))
platform: ${{
(github.event_name != 'workflow_dispatch'
|| (contains(inputs.platforms, 'linux_x64') && contains(inputs.platforms, 'linux_arm64')))
&& fromJson('["linux_x64","linux_arm64"]')
|| (contains(inputs.platforms, 'linux_x64') && fromJson('["linux_x64"]')
|| (contains(inputs.platforms, 'linux_arm64') && fromJson('["linux_arm64"]')
|| fromJson('[]')))
}}
include:
- platform: linux_x64
arch: x86_64
runs-on: ubuntu-22.04
qt-host: linux
qt-arch: ${{ inputs.use_qt69 == 'on' && 'linux_gcc_64' || 'gcc_64' }}
dump-symbols-arch: x86-64
- platform: linux_arm64
arch: aarch64
runs-on: ubuntu-22.04-arm
runs-on: ${{ inputs.use_qt69 == 'on' && 'ubuntu-24.04-arm' || 'ubuntu-22.04-arm' }}
qt-host: linux_arm64
qt-arch: linux_gcc_arm64
dump-symbols-arch: aarch64
steps:
- name: Cancel Previous Runs
Expand Down Expand Up @@ -165,10 +178,25 @@ jobs:

- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem_matchers/gcc.json"


- name: Install Qt
# TODO: Change back to jurplel/install-qt-action@v4 when it supports arm64
uses: jdpurcell/install-qt-action@v5
if: ${{ !(matrix.qt-host == 'linux_arm64' && inputs.use_qt69 != 'on') }}
with:
version: ${{ inputs.use_qt69 == 'on' && '6.9.*' || '6.2.4' }}
host: ${{ matrix.qt-host }}
target: 'desktop'
arch: ${{ matrix.qt-arch }}
modules: 'qt5compat qtnetworkauth qtscxml qtshadertools qtwebsockets'
- name: Install Qt 6.2.4 arm64
if: ${{ matrix.qt-host == 'linux_arm64' && inputs.use_qt69 != 'on' }}
run: |
bash ./buildscripts/ci/linux/arm64/install_qt.sh
- name: Setup environment
run: |
bash ./buildscripts/ci/linux/setup.sh --arch ${{ matrix.arch }}

- name: Generate _en.ts files
env:
LUPDATE_ARGS: ""
Expand Down
21 changes: 13 additions & 8 deletions .github/workflows/build_linux_arm32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ on:
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
default: ''
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
required: false
workflow_call:
inputs:
build_mode:
Expand All @@ -33,6 +37,11 @@ on:
default: ''
type: string
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
type: string
required: false

jobs:
linux_arm32:
Expand Down Expand Up @@ -120,12 +129,6 @@ jobs:
echo "DO_PUBLISH=$DO_PUBLISH" | tee -a $GITHUB_ENV
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" | tee -a $GITHUB_ENV

# - name: Generate _en.ts files
# env:
# LUPDATE_ARGS: ""
# POSTPROCESS_ARGS: ${{ env.DO_PLACEHOLDER_TRANSLATIONS == 'true' && '--generate-placeholder-translations' || '' }}
# run: |
# bash ./buildscripts/ci/translation/run_lupdate.sh
- name: Update .ts files (tx pull)
if: env.DO_UPDATE_TS == 'true'
uses: transifex/cli-action@v2
Expand All @@ -135,7 +138,7 @@ jobs:

- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem_matchers/gcc.json"

- name: Setup, Generate _en.ts files, Build AppImage, Package, Checksum
env: # For lupdate
LUPDATE_ARGS: ""
Expand All @@ -144,8 +147,10 @@ jobs:
C_URL=${SENTRY_URL}; if [ -z "$C_URL" ]; then C_URL="''"; fi
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 "\
cd /MuseScore && \
git config --global --add safe.directory /MuseScore && \
bash /MuseScore/buildscripts/ci/linux/setup.sh --arch armv7l && \
bash /MuseScore/buildscripts/ci/translation/run_lupdate.sh && \
bash /MuseScore/buildscripts/ci/linux/arm32/install_qt.sh && \
bash /MuseScore/tools/translation/run_lupdate.sh && \
bash /MuseScore/buildscripts/ci/linux/build.sh -n ${{ env.BUILD_NUMBER }} --crash_log_url $C_URL --arch armv7l && \
bash /MuseScore/buildscripts/ci/linux/package.sh --arch armv7l && \
bash /MuseScore/buildscripts/ci/tools/checksum.sh \
Expand Down
20 changes: 19 additions & 1 deletion .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ on:
description: 'Upload symbols and dumps to Sentry (choose a project): mu4(default for stable build), sandbox'
default: ''
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
required: false
workflow_call:
inputs:
build_mode:
Expand All @@ -33,6 +37,11 @@ on:
default: ''
type: string
required: false
use_qt69:
description: 'Use Qt 6.9'
default: 'off'
type: string
required: false

env:
DEVELOPER_DIR: /Applications/Xcode_16.3.app/Contents/Developer
Expand Down Expand Up @@ -151,15 +160,24 @@ jobs:
brew install ccache
bash ./buildscripts/ci/tools/setup_ccache_config.sh

- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ inputs.use_qt69 == 'on' && '6.9.*' || '6.2.4' }}
host: 'mac'
target: 'desktop'
arch: 'clang_64'
modules: 'qt5compat qtnetworkauth qtscxml qtshadertools qtwebsockets'
- name: Setup environment
run: |
bash ./buildscripts/ci/macos/setup.sh

- name: Generate _en.ts files
env:
LUPDATE_ARGS: ""
POSTPROCESS_ARGS: "--warn-only ${{ env.DO_PLACEHOLDER_TRANSLATIONS == 'true' && '--generate-placeholder-translations' || '' }}"
run: |
bash ./buildscripts/ci/translation/run_lupdate.sh
bash ./tools/translations/run_lupdate.sh
- name: Update .ts files (tx pull)
if: env.DO_UPDATE_TS == 'true'
uses: transifex/cli-action@v2
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build_nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,6 @@ jobs:
build_mode: 'nightly',
publish: 'on',
sentry_project: 'sandbox'
use_qt69: 'off'
}
})
Loading
Loading