mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-07 10:33:24 -08:00
[CI] Install only the Qt archives the desktop builds use (#7024)
The online installer ships the base package as ~25 archives; aqt installs all of them unless `--archives` names the ones wanted. Restricting them to what cmake/FindQtRuntime.cmake requires cuts the Windows Qt cache from 440 MB to 180 MB and the macOS thin Qt download from >200 MB to 60 MB. The list lives once, in a workflow-level QT_ARCHIVES variable, because both install steps consume it and the macOS thin-Qt cache key has to change with it. The addons the build also needs (Multimedia, WebSockets, ShaderTools, ImageFormats) are not base archives and stay in each leg's qt_modules; qtdeclarative is required on Windows too, since the onboarding banner links Qt6::Quick/QuickWidgets.
This commit is contained in:
parent
0e9ba72924
commit
d7d1872638
1 changed files with 17 additions and 1 deletions
18
.github/workflows/desktop-build.yml
vendored
18
.github/workflows/desktop-build.yml
vendored
|
|
@ -47,6 +47,20 @@ concurrency:
|
|||
group: "${{ github.workflow }} @ ${{ github.ref_name }} (${{ github.event_name }})"
|
||||
cancel-in-progress: ${{ github.ref_type != 'tag' }}
|
||||
|
||||
# Qt's online installer ships its base package as separate archives. Installing only the
|
||||
# ones Cockatrice loads drops the full 25+ archive download to this handful (Windows Qt
|
||||
# cache: 440 MB → 180 MB, macOS thin Qt: ~200 MB → 60 MB). The addons Cockatrice also needs
|
||||
# (Multimedia, WebSockets, ShaderTools, ImageFormats) are not base archives: they stay in
|
||||
# each leg's qt_modules.
|
||||
#
|
||||
# The list mirrors what cmake/FindQtRuntime.cmake requires, so a component that is missing
|
||||
# here fails configure with "No suitable version of Qt was found" instead of at runtime:
|
||||
# qtbase supplies Core, Gui, Widgets, Network, Sql, Xml, Concurrent and PrintSupport;
|
||||
# qtdeclarative supplies Qml, Quick and QuickWidgets; qtsvg supplies Svg; qttools supplies
|
||||
# Linguist (lrelease/lupdate); qttranslations ships Qt's own catalogs.
|
||||
env:
|
||||
QT_ARCHIVES: qtbase qtdeclarative qtsvg qttools qttranslations
|
||||
|
||||
jobs:
|
||||
configure:
|
||||
name: Configure
|
||||
|
|
@ -717,7 +731,7 @@ jobs:
|
|||
id: restore_qt
|
||||
uses: actions/cache/restore@v6
|
||||
with:
|
||||
key: Qt-${{ steps.resolve_qt_version.outputs.version }}-macOS-${{ matrix.soc }}-${{ matrix.qt_modules }}-thin
|
||||
key: Qt-${{ steps.resolve_qt_version.outputs.version }}-macOS-${{ matrix.soc }}-${{ matrix.qt_modules }}-${{ env.QT_ARCHIVES }}-thin
|
||||
path: ${{ github.workspace }}/Qt
|
||||
|
||||
# Using jurplel/install-qt-action to install Qt without using brew
|
||||
|
|
@ -726,6 +740,7 @@ jobs:
|
|||
if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true'
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
archives: ${{ env.QT_ARCHIVES }}
|
||||
cache: false
|
||||
# cache-key-prefix: Qt
|
||||
dir: ${{ github.workspace }} # thinning script depends on this location
|
||||
|
|
@ -749,6 +764,7 @@ jobs:
|
|||
with:
|
||||
# Qt 6.11.0 only works with aqtinstall directly from git until aqtinstall 3.4 is released
|
||||
aqtsource: git+https://github.com/miurahr/aqtinstall.git
|
||||
archives: ${{ env.QT_ARCHIVES }}
|
||||
cache: ${{ github.ref == 'refs/heads/master' }}
|
||||
cache-key-prefix: Qt
|
||||
modules: ${{ matrix.qt_modules }}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue