-
Notifications
You must be signed in to change notification settings - Fork 670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[3rd-party] Migrate "fmt" dependency to vcpkg #3964
base: main
Are you sure you want to change the base?
Conversation
the package catalogue for fetching fmt/11.0.2 Signed-off-by: Mustafa Kemal Gilor <[email protected]>
The vcpkg version is bumped to 2025.02.14, but the vcpkg baseline is intentionally not updated because gRPC 1.52.1 is not happy with the some changes that happened in "abseil" in the latest baseline. |
removed "fmt" submodule, and added fmt/11.0.2 as vcpkg dependency. added a find_package() call for fmt. replaced all "fmt" CMakeLists references with fmt::fmt-header-only Signed-off-by: Mustafa Kemal Gilor <[email protected]>
84c5ea5
to
fcfd598
Compare
This PR does the vcpkg and grpc update, it is just needed to reviewed and merged. |
I think on CI, the vcpkg version and the baseline hash should match, maybe it is wiser to wait that update PR to merge or just rebase this PR on that. |
I think that's not a hard requirement, and as a matter of fact, I'm working on a solution to fix that so we can have different vcpkg and baseline commits if we want to. |
I'm just trying to avoid the obstacle to see whether anything else is blocking the road. The CI is a weird beast :) |
185f25e
to
516627d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3964 +/- ##
=======================================
Coverage 89.11% 89.11%
=======================================
Files 255 255
Lines 14603 14603
=======================================
Hits 13014 13014
Misses 1589 1589 ☔ View full report in Codecov by Sentry. |
The submodule cloning only fetches the top commit and the tags, so a different builtin-baseline from the HEAD would cause pipeline fail because it would be absent in the submodule's git tree. This commit adds two steps to the checkout action, which reads the vcpkg.json file and fetches the builtin-baseline commit. Signed-off-by: Mustafa Kemal Gilor <[email protected]>
516627d
to
4ad6d56
Compare
Signed-off-by: Mustafa Kemal Gilor <[email protected]>
We can do that now. The solution tries to be smart about what to fetch to help reduce the checkout time. The alternative is to use "git fetch --unshallow" but it fetches all the references we won't need, and it takes significantly longer (~3x). |
Great! I'll help review that branch next week. |
Right now, we’re using fmt as a submodule, which is not the most convenient way of consuming it considering the fact that we already have “vcpkg” available to our disposal.
This merge proposal removes the "fmt" submodule and introduces a "fmt" vcpkg dependency, updating the required CMakeLists references in the process.
MULTI-1846