Skip to content

Commit

Permalink
CI: switch to building on ubuntu jammy
Browse files Browse the repository at this point in the history
  • Loading branch information
theofficialgman committed Dec 8, 2023
1 parent 3f881d3 commit fd9585c
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 52 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci_linux_arm_mu4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ jobs:
run: |
YT_API_KEY=${{ secrets.YOUTUBE_API_KEY }}; if [ -z "$YT_API_KEY" ]; then YT_API_KEY="''"; fi
C_URL=${SENTRY_URL}; if [ -z "$C_URL" ]; then C_URL="''"; fi
sudo docker run -i -v "${PWD}:/MuseScore" "arm32v7/ubuntu:focal" /bin/bash -c "cd /MuseScore && \
sudo docker run -i -v "${PWD}:/MuseScore" "arm32v7/ubuntu:jammy" /bin/bash -c "cd /MuseScore && \
bash /MuseScore/build/ci/linux/setup-arm.sh --arch armv7l && \
bash /MuseScore/build/ci/linux/build.sh -n ${{ env.BUILD_NUMBER }} --youtube_api_key $YT_API_KEY --crash_log_url $C_URL --arch armv7l && \
bash ./build/ci/linux/dumpsyms.sh && \
Expand Down Expand Up @@ -247,7 +247,7 @@ jobs:
run: |
YT_API_KEY=${{ secrets.YOUTUBE_API_KEY }}; if [ -z "$YT_API_KEY" ]; then YT_API_KEY="''"; fi
C_URL=${SENTRY_URL}; if [ -z "$C_URL" ]; then C_URL="''"; fi
sudo docker run -i -v "${PWD}:/MuseScore" "arm64v8/ubuntu:focal" /bin/bash -c "cd /MuseScore && \
sudo docker run -i -v "${PWD}:/MuseScore" "arm64v8/ubuntu:jammy" /bin/bash -c "cd /MuseScore && \
bash /MuseScore/build/ci/linux/setup-arm.sh --arch aarch64 && \
bash /MuseScore/build/ci/linux/build.sh -n ${{ env.BUILD_NUMBER }} --youtube_api_key $YT_API_KEY --crash_log_url $C_URL --arch aarch64 && \
bash ./build/ci/linux/dumpsyms.sh && \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_linux_mu4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ env:

jobs:
build_mu4:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
Expand Down
52 changes: 25 additions & 27 deletions build/ci/linux/setup-arm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,9 @@ DEBIAN_FRONTEND="noninteractive" TZ="Europe/London" apt-get install -y --no-inst
"${apt_packages_runtime[@]}" \
"${apt_packages_ffmpeg[@]}"

# Add additional ppas (Qt 5.15.2, Cmake, and patchelf)
# Add additional ppa
# Poor naming of the cmake ppa, this ppa has bionic/focal/jammy dists
add-apt-repository --yes ppa:theofficialgman/cmake-bionic
add-apt-repository --yes ppa:theofficialgman/opt-qt-5.15.2-focal-arm
# minimum patchelf 0.12 needed for proper elf load memory alignment
add-apt-repository --yes ppa:theofficialgman/patchelf
apt-get update
apt-get upgrade -y

Expand Down Expand Up @@ -176,30 +173,36 @@ ninja --version
# GET QT
##########################################################################

# Get newer Qt (only used cached version if it is the same)

apt_packages_qt=(
qt515base
qt515declarative
qt515quickcontrols
qt515quickcontrols2
qt515graphicaleffects
qt515imageformats
qt515networkauth-no-lgpl
qt515remoteobjects
qt515svg
qt515tools
qt515translations
qt515wayland
qt515x11extras
qt515xmlpatterns
qtbase5-dev
qtbase5-private-dev
qttools5-dev
qttools5-dev-tools
libqt5svg5-dev
qtwayland5
qt5-gtk-platformtheme
qtquickcontrols2-5-dev
libqt5networkauth5-dev
qtdeclarative5-dev
libqt5xmlpatterns5-dev
libqt5x11extras5-dev
qml-module-qtquick-controls
qml-module-qtquick-controls2
qml-module-qtquick-dialogs
qml-module-qtquick-extras
qml-module-qtquick-privatewidgets
qml-module-qtquick-templates2
qml-module-qtgraphicaleffects
)

apt-get install -y \
"${apt_packages_qt[@]}"

qt_version="5152"
qt_dir="/opt/qt515"
if [ "$PACKARCH" == "armv7l" ]; then
echo export LIB_PATH="/usr/lib/arm-linux-gnueabihf" >> ${ENV_FILE}
else
echo export LIB_PATH="/usr/lib/aarch64-linux-gnu" >> ${ENV_FILE}
fi

##########################################################################
# Compile and install nlohmann-json
Expand Down Expand Up @@ -345,11 +348,6 @@ else
echo export DUMPSYMS_BIN="$breakpad_dir/dump_syms" >> $ENV_FILE
fi

echo export PATH="${qt_dir}/bin:\${PATH}" >> ${ENV_FILE}
echo export LD_LIBRARY_PATH="${qt_dir}/lib:\${LD_LIBRARY_PATH}" >> ${ENV_FILE}
echo export QT_PATH="${qt_dir}" >> ${ENV_FILE}
echo export QT_PLUGIN_PATH="${qt_dir}/plugins" >> ${ENV_FILE}
echo export QML2_IMPORT_PATH="${qt_dir}/qml" >> ${ENV_FILE}
echo export CFLAGS="-Wno-psabi" >> ${ENV_FILE}
echo export CXXFLAGS="-Wno-psabi" >> ${ENV_FILE}

Expand Down
38 changes: 24 additions & 14 deletions build/ci/linux/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,22 +115,32 @@ sudo apt-get install -y --no-install-recommends \
# GET QT
##########################################################################

# Get newer Qt (only used cached version if it is the same)
qt_version="5152"
qt_dir="$BUILD_TOOLS/Qt/${qt_version}"
if [[ ! -d "${qt_dir}" ]]; then
mkdir -p "${qt_dir}"
qt_url="https://s3.amazonaws.com/utils.musescore.org/Qt${qt_version}_gcc64.7z"
wget -q --show-progress -O qt5.7z "${qt_url}"
7z x -y qt5.7z -o"${qt_dir}"
fi
apt_packages_qt=(
qtbase5-dev
qtbase5-private-dev
qttools5-dev
qttools5-dev-tools
libqt5svg5-dev
qtwayland5
qt5-gtk-platformtheme
qtquickcontrols2-5-dev
libqt5networkauth5-dev
qtdeclarative5-dev
libqt5xmlpatterns5-dev
libqt5x11extras5-dev
qml-module-qtquick-controls
qml-module-qtquick-controls2
qml-module-qtquick-dialogs
qml-module-qtquick-extras
qml-module-qtquick-privatewidgets
qml-module-qtquick-templates2
qml-module-qtgraphicaleffects
)

echo export PATH="${qt_dir}/bin:\${PATH}" >> ${ENV_FILE}
echo export LD_LIBRARY_PATH="${qt_dir}/lib:\${LD_LIBRARY_PATH}" >> ${ENV_FILE}
echo export QT_PATH="${qt_dir}" >> ${ENV_FILE}
echo export QT_PLUGIN_PATH="${qt_dir}/plugins" >> ${ENV_FILE}
echo export QML2_IMPORT_PATH="${qt_dir}/qml" >> ${ENV_FILE}
apt-get install -y \
"${apt_packages_qt[@]}"

echo export LIB_PATH="/usr/lib/x86_64-linux-gnu" >> ${ENV_FILE}

##########################################################################
# GET TOOLS
Expand Down
17 changes: 9 additions & 8 deletions build/ci/linux/tools/make_appimage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ mv "${appdir}/bin/findlib" "${appdir}/../findlib"
# Remove Qt plugins for MySQL and PostgreSQL to prevent
# linuxdeploy-plugin-qt from failing due to missing dependencies.
# SQLite plugin alone should be enough for our AppImage.
# rm -f ${QT_PATH}/plugins/sqldrivers/libqsql{mysql,psql}.so
qt_sql_drivers_path="${QT_PATH}/plugins/sqldrivers"
# rm -f ${LIB_PATH}/qt5/plugins/sqldrivers/libqsql{mysql,psql}.so
qt_sql_drivers_path="${LIB_PATH}/qt5/plugins/sqldrivers"
qt_sql_drivers_tmp="/tmp/qtsqldrivers"
mkdir -p "$qt_sql_drivers_tmp"
mv "${qt_sql_drivers_path}/libqsqlmysql.so" "${qt_sql_drivers_tmp}/libqsqlmysql.so"
Expand All @@ -131,15 +131,16 @@ linuxdeploy-plugin-qt --appdir "${appdir}" # adds all Qt dependencies
# (at that time the linux deploy was updated).
# This is a hack, for the deployment of QtQuick/Controls.2
if [ ! -f ${appdir}/usr/lib/libQt5QuickControls2.so.5 ]; then
cp -r ${QT_PATH}/qml/QtQuick/Controls.2 ${appdir}/usr/qml/QtQuick/Controls.2
cp -r ${QT_PATH}/qml/QtQuick/Templates.2 ${appdir}/usr/qml/QtQuick/Templates.2
cp ${QT_PATH}/lib/libQt5QuickControls2.so.5 ${appdir}/usr/lib/libQt5QuickControls2.so.5
cp ${QT_PATH}/lib/libQt5QuickTemplates2.so.5 ${appdir}/usr/lib/libQt5QuickTemplates2.so.5
cp -r ${LIB_PATH}/qt5/qml/QtQuick/Controls.2 ${appdir}/usr/qml/QtQuick/Controls.2
cp -r ${LIB_PATH}/qt5/qml/QtQuick/Templates.2 ${appdir}/usr/qml/QtQuick/Templates.2
cp ${LIB_PATH}/libQt5QuickControls2.so.5 ${appdir}/usr/lib/libQt5QuickControls2.so.5
cp ${LIB_PATH}/libQt5QuickTemplates2.so.5 ${appdir}/usr/lib/libQt5QuickTemplates2.so.5
fi

# At an unknown point in time, the libqgtk3 plugin stopped being deployed
if [ ! -f ${appdir}/plugins/platformthemes/libqgtk3.so ]; then
cp ${QT_PATH}/plugins/platformthemes/libqgtk3.so ${appdir}/plugins/platformthemes/libqgtk3.so
mkdir -p ${appdir}/usr/plugins/platformthemes/
cp ${LIB_PATH}/qt5/plugins/platformthemes/libqgtk3.so ${appdir}/usr/plugins/platformthemes/libqgtk3.so
fi

# The system must be used
Expand Down Expand Up @@ -241,7 +242,7 @@ done

for file in "${additional_qt_components[@]}"; do
mkdir -p "${appdir}/$(dirname "${file}")"
cp -Lr "${QT_PATH}/${file}" "${appdir}/${file}"
cp -Lr "${LIB_PATH}/qt5/${file}" "${appdir}/${file}"
done

for lib in "${additional_libraries[@]}"; do
Expand Down

0 comments on commit fd9585c

Please sign in to comment.