-
Notifications
You must be signed in to change notification settings - Fork 438
fix(windows): configure OpenSSL roots and stabilize Bazel builds #15818
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
Conversation
Summary of ChangesHello @jinseopkim0, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses and resolves build and test failures occurring in the Kokoro Windows CI environment. It implements a robust mechanism for the C++ client to correctly locate and utilize CA certificates by integrating the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces fixes for the Kokoro Windows Bazel CI build. The changes include updating the C++ quickstart examples to respect the CURL_CA_BUNDLE environment variable for custom CA certificates, which is necessary for the hermetic build environment. The corresponding Bazel build script is updated to set this environment variable during integration tests. Additionally, several build targets that are failing on Windows are now excluded from the bazel build and bazel test commands to unblock the CI. The changes are correct and well-implemented. I have no specific comments.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #15818 +/- ##
==========================================
- Coverage 92.95% 92.94% -0.01%
==========================================
Files 2458 2458
Lines 227589 227589
==========================================
- Hits 211547 211537 -10
- Misses 16042 16052 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Temporarily excludes specific Bigtable, Storage, and Pub/Sub targets that are currently unstable or failing in the Windows Bazel CI environment. References #15678.
Updates the Storage quickstart and READMEs to conditionally check for the `CURL_CA_BUNDLE` environment variable. This allows the examples to run in environments (like Windows CI) that require a custom CA bundle path.
Installs root certificates and sets the `CURL_CA_BUNDLE` and `GRPC_DEFAULT_SSL_ROOTS_FILE_PATH` environment variables in the Kokoro Windows Bazel build. This enables the client to authenticate correctly when built against OpenSSL on Windows.
d9ea7c2 to
38cab95
Compare
Summary
This PR fixes build and test failures in the Kokoro Windows Bazel environment. It configures the build to correctly handle OpenSSL certificate roots for
curland temporarily excludes specific targets that are currently unstable on Windows.kokoro/windows/bazel-release-2019 and kokoro/windows/bazel-release-2022 pass with this PR.
Changes
CURL_CA_BUNDLEenvironment variable. This allows the examples to locate the custom CA bundle required in the hermetic build environment.bazel.ps1to install root certificates and set theCURL_CA_BUNDLEenvironment variable during the test phase.Reasoning
The Windows CI environment uses a hermetic build where standard system roots may not be sufficient or accessible. Configuring the client to use explicitly provided roots via environment variables resolves authentication failures during integration tests.
Note: #15822 has been created to investigate automatic detection of CA roots from environment variables (e.g. CURL_CA_BUNDLE)