perf(windows): optimize Windows CI build and bump GitHub Actions versions - #45
Merged
Merged
Conversation
…ions - Trim unused Qt6 modules in Windows CI to cut ~10-12 min download/extract time - Cache Vulkan SDK in C:\VulkanSDK to skip redundant 800MB Chocolatey downloads - Disable Windows Defender real-time scanning & add exclusions for build directories - Enable sccache disk persistence via actions/cache@v6 for C:\.sccache - Add MSVC compiler optimizations (/Zc:inline, /Gw) for faster linkage & smaller binaries - Bump fallback Vulkan SDK Git tag from v1.4.304 to v1.4.354 in vulkan.cmake - Modernize GitHub Actions ecosystem across all workflows: * actions/checkout to @v7 * actions/cache, cache/restore, cache/save to @v6 * actions/upload-artifact to @v7 * actions/download-artifact to @v8 * actions/setup-python to @v7 * actions/setup-node to @v7 * github/codeql-action to @v4 * mozilla-actions/sccache-action to @v0.0.11 - Grant explicit actions: write permissions for cache persistence Refs #44 Signed-off-by: Michael Oliver <mcoliver@gmail.com>
…community flair Signed-off-by: Michael Oliver <mcoliver@gmail.com>
Unexcludes the workspace and triggers an on-demand scan with MpCmdRun.exe on _install to verify the final staged application and its runtime dependencies are free of malware and supply chain threats before archiving. Refs #44 Signed-off-by: Michael Oliver <mcoliver@gmail.com>
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
mcoliver
marked this pull request as ready for review
September 24, 2026 18:48
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
…t Vulkan tag to v1.4.304
- In cmake/dependencies/vulkan.cmake, revert fallback Vulkan tag to v1.4.304
to fix the CMake VERSION_GREATER configuration failure in Vulkan-Loader.
- In .github/actions/build-windows/action.yml:
* Add qtwebengine to windows_qt6_modules (required by cmake/dependencies/qt6.cmake)
and remove unused qt5compat.
* Ensure 7-Zip is added to PATH via PowerShell.
* Pass extra: '--external 7z' to jurplel/install-qt-action to use native 7-Zip
instead of py7zr, preventing Bad7zFile extraction errors and speeding up installs.
Refs #44
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
…ngine submodules to Windows Qt Signed-off-by: Michael Oliver <mcoliver@gmail.com>
…llision in aqtinstall Signed-off-by: Michael Oliver <mcoliver@gmail.com>
…Linux Signed-off-by: Michael Oliver <mcoliver@gmail.com>
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
…pping Signed-off-by: Michael Oliver <mcoliver@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses Windows CI build times (currently 45-60 min) by targeting root bottleneck causes identified in profiling and modernizing our GitHub Actions ecosystem.
Closes #44
Changes
1. Windows Build Speedups
windows_qt6_modulesin.github/actions/build-windows/action.ymlfrom 27 modules (which included heavy, unused packages likeqtwebengineanddebug_info) to only required desktop runtime modules (qt5compat qtimageformats qtmultimedia qtpdf qtshadertools). Saves ~10–12 minutes previously spent downloading and extracting archives.actions/cache@v6forC:\VulkanSDK(vulkan-sdk-1.4.350). Skips downloading the 800MB installer via Chocolatey on cache hits.C:\.sccache,C:\Program Files\OpenUTVDeps, andC:\VulkanSDKto eliminate antivirus I/O contention during compilation.mozilla-actions/sccache-actionto@v0.0.11, configuredSCCACHE_DIR: C:\.sccache, and added explicitactions/cache/restore@v6andactions/cache/save@v6(if: always()) so compilation caches persist across workflow runs./Zc:inlineand/Gw(whole program data optimization) incmake/defaults/cxx_msvc_defaults.cmaketo eliminate unreferenced COMDAT data and speed up link times.cmake/dependencies/vulkan.cmakefromv1.4.304tov1.4.354.2. GitHub Actions Modernization Across All Workflows
Bumped actions across all workflow files (
branch-build.yml,dev-build.yml,pr-checks.yml,release.yml,publish-packages.yml,codeql.yml):actions/checkout->@v7actions/cache,actions/cache/restore,actions/cache/save->@v6actions/upload-artifact->@v7actions/download-artifact->@v8actions/setup-python->@v7actions/setup-node->@v7github/codeql-action->@v4actions: writepermission to workflows usingactions/cachesave.