Conversation
Replace per-platform manual ecosystem dependency builds with unified vcpkg manifest mode for Linux, macOS, and Windows in the build job. Changes to the build job: - Add triplet to matrix (x64-linux, arm64-osx, x64-windows) - Remove 4 ecosystem checkout steps (common, thread, logger, container) - Remove manual "Build ecosystem dependencies" steps (Unix ~77 lines, Windows ~86 lines) and GoogleTest ABI workaround blocks - Simplify system dependency install to build tools only (cmake, ninja, pkg-config) — library packages now come from vcpkg - Add cross-platform vcpkg setup: clone, bootstrap, 2-tier cache (vcpkg binary + vcpkg_installed), and manifest-mode install - Configure CMake with CMAKE_TOOLCHAIN_FILE on all platforms - Add fallback mechanism: vcpkg failure falls back to system libraries (Unix) or system vcpkg (Windows), matching logger_system pattern - Increase timeout from 45 to 60 minutes for first-time vcpkg builds - Add aarch64 architecture check for VCPKG_FORCE_SYSTEM_BINARIES Jobs NOT modified: build-minimal, sanitizers, test-downstream. Closes #885
Contributor
Performance ComparisonBase Branch ResultsNo base results PR Branch ResultsNo PR results |
Contributor
Coverage Report
Coverage DetailsFull HTML report is available as a build artifact. |
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.
Closes #885
Summary
buildjobChanges
Build job modifications
tripletfield (x64-linux, arm64-osx, x64-windows)rm -f gtest*.aABI workaround blocksCMAKE_TOOLCHAIN_FILEto all platform configure steps (Unix and Windows)continue-on-errorpatternVCPKG_FORCE_SYSTEM_BINARIESJobs NOT modified
build-minimal— still uses common_system checkout + manual buildsanitizers— still uses manual ecosystem checkout/build (sanitizer flags required)test-downstream— still uses system packages for downstream compatibility testReview Summary
All 7 acceptance criteria verified PASS:
vcpkg install --triplet x64-linuxvcpkg install --triplet arm64-osxCMAKE_TOOLCHAIN_FILEpassed to CMake on all platformsCode quality review: no Critical or Major findings. Two informational observations noted (fallback step error suppression pattern, vcpkg features not explicitly activated — both match existing behavior and logger_system reference).
Test plan
build-minimaljob still passes (unchanged)sanitizersjob still passes (unchanged)test-downstreamjob still passes (unchanged)