@@ -226,23 +226,25 @@ jobs:
226226 - config_name : MacOS (artifacts)
227227 target_os : macos
228228 building_on_os : macos-15
229- base_command : QT_VERSION=6.10.2 SIGN_IF_POSSIBLE=1 TARGET_ARCHS="x86_64 arm64" ./.github/autobuild/mac.sh
229+ base_command : QT=6 SIGN_IF_POSSIBLE=1 TARGET_ARCHS="x86_64 arm64" ./.github/autobuild/mac.sh
230230 # Disable CodeQL on mac as it interferes with signing the binaries (signing hangs, see #2563 and #2564)
231231 run_codeql : false
232232 xcode_version : 16.3.0
233+ dependency_cache_key : qt6
233234 is_main_build_target : true
234235
235236 # Reminder: If Legacy is removed, be sure to add a dedicated job for CodeQL again.
236237 - config_name : MacOS Legacy (artifacts+CodeQL)
237238 target_os : macos
238239 building_on_os : macos-15-intel
239- base_command : QT_VERSION=5.15.2 SIGN_IF_POSSIBLE=0 ARTIFACT_SUFFIX=_legacy ./.github/autobuild/mac.sh
240+ base_command : QT=5 SIGN_IF_POSSIBLE=0 ARTIFACT_SUFFIX=_legacy ./.github/autobuild/mac.sh
240241 # Enable CodeQL on mac legacy as this version does not get signed
241242 run_codeql : true
242243 # macos-15-intel ships with Xcode 16.x; while Qt5 is older, Xcode 16 still supports building it
243244 # https://developer.apple.com/support/xcode/
244245 # https://xcodereleases.com/
245246 xcode_version : 16.3.0
247+ dependency_cache_key : qt5
246248 is_main_build_target : true
247249
248250 - config_name : iOS (artifacts)
@@ -254,19 +256,22 @@ jobs:
254256 # Therefore, disable it:
255257 run_codeql : false
256258 xcode_version : 26.2
259+ dependency_cache_key : ios
257260
258261 - config_name : Windows (artifact+codeQL)
259262 target_os : windows
260263 building_on_os : windows-2025
261264 base_command : powershell .\.github\autobuild\windows.ps1 -Stage
262265 run_codeql : true
266+ dependency_cache_key : asio
263267 is_main_build_target : true
264268
265269 - config_name : Windows JACK (artifact)
266270 target_os : windows
267271 building_on_os : windows-2025
268272 base_command : powershell .\.github\autobuild\windows.ps1 -BuildOption jackonwindows -Stage
269273 run_codeql : false
274+ dependency_cache_key : jack
270275
271276 # This injects the build_all_targets information into each matrix output:
272277 build_all_targets :
@@ -294,13 +299,29 @@ jobs:
294299 fetch-depth : ${{ matrix.config.checkout_fetch_depth || '1' }}
295300
296301 - name : Cache Mac dependencies
297- if : matrix.config.target_os == 'macos'
302+ if : matrix.config.target_os == 'macos' && matrix.config.dependency_cache_key == 'qt6'
298303 uses : actions/cache@v6
299304 with :
300305 path : |
301306 ~/qt
302307 ~/Library/Cache/jamulus-dependencies
303- key : ${{ matrix.config.target_os }}-${{ hashFiles('.github/workflows/autobuild.yml', '.github/autobuild/mac.sh', 'mac/deploy_mac.sh') }}-${{ matrix.config.base_command }}
308+ key : ${{ matrix.config.target_os }}-${{ hashFiles('.github/autobuild/mac-dependencies_qt6.sh') }}-${{ matrix.config.dependency_cache_key }}
309+
310+ - name : Cache Mac Legacy dependencies
311+ if : matrix.config.target_os == 'macos' && matrix.config.dependency_cache_key == 'qt5'
312+ uses : actions/cache@v6
313+ with :
314+ path : |
315+ ~/qt
316+ ~/Library/Cache/jamulus-dependencies
317+ key : ${{ matrix.config.target_os }}-${{ hashFiles('.github/autobuild/mac-dependencies_qt5.sh') }}-${{ matrix.config.dependency_cache_key }}
318+
319+ - name : Cache iOS dependencies
320+ if : matrix.config.target_os == 'ios'
321+ uses : actions/cache@v6
322+ with :
323+ path : /opt/qt
324+ key : ${{ matrix.config.target_os }}-${{ hashFiles('.github/autobuild/ios-dependencies.sh') }}-${{ matrix.config.dependency_cache_key }}
304325
305326 - name : Cache Windows dependencies
306327 if : matrix.config.target_os == 'windows'
@@ -312,7 +333,7 @@ jobs:
312333 C:\AutobuildCache
313334 ${{ github.workspace }}\libs\NSIS\NSIS-source
314335 ${{ github.workspace }}\libs\ASIOSDK2
315- key : ${{ matrix.config.target_os }}-${{ hashFiles('.github/workflows/ autobuild.yml', '.github/autobuild/ windows.ps1', 'windows/deploy_windows.ps1' ) }}-${{ matrix.config.base_command }}
336+ key : ${{ matrix.config.target_os }}-${{ hashFiles('.github/autobuild/ windows-dependencies .ps1') }}-${{ matrix.config.dependency_cache_key }}
316337
317338 - name : Cache Android dependencies
318339 if : matrix.config.target_os == 'android'
@@ -359,6 +380,7 @@ jobs:
359380 NOTARIZATION_PASSWORD : ${{ secrets.NOTARIZATION_PASSWORD }}
360381 KEYCHAIN_PASSWORD : ${{ secrets.KEYCHAIN_PASSWORD }}
361382 MACOS_CA_PUBLICKEY : ${{ secrets.MACOS_CA_PUBKEY }}
383+
362384 - name : Post-Build for ${{ matrix.config.config_name }}
363385 id : get-artifacts
364386 run : ${{ matrix.config.base_command }} get-artifacts
0 commit comments