Skip to content

Work around certificate regression on Windows - #33142

Merged
Tianlei Wu (tianleiwu) merged 2 commits into
mainfrom
dev/erscor/2026/10/6-cert-issue
Oct 6, 2026
Merged

Tianlei Wu (tianleiwu) merged 2 commits into
mainfrom
dev/erscor/2026/10/6-cert-issue

Conversation

@eserscor

@eserscor eserscor commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

This pull request updates the build pipeline to improve Python package installation and proxy handling, and ensures SSL certificate trust for Python requests. The most important changes are:

Build Pipeline Improvements:

  • The pipeline now installs both requests and truststore Python packages to improve SSL certificate handling in Python scripts.
  • Added steps to inspect and sanitize the NO_PROXY environment variable, ensuring it does not contain invalid entries before running the Python GitHub Action wrapper.

Python Script Enhancements:

  • Updated run_gh_action.py to import and inject truststore into the Python SSL context, ensuring trusted certificate handling for HTTP requests.

Copilot AI balanced review requested due to automatic review settings October 6, 2026 20:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Certificate trust and proxy behavior need agent-level validation on the shared Windows and macOS pipelines.

Review effort: Balanced
Findings: None

What changed in this PR

Updates shared build-tool setup to address Windows certificate trust failures.

Changes:

  • Installs truststore and enables system certificate trust for Python requests.
  • Adds proxy diagnostics and filters NO_PROXY before launching the wrapper through PowerShell.
File Description
tools/​ci_build/​run_gh_action.py Injects truststore into Python SSL handling.
tools/​ci_build/​github/​azure-pipelines/​templates/​setup-build-tools.yml Installs truststore and adjusts proxy handling and wrapper execution.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@tianleiwu
Tianlei Wu (tianleiwu) enabled auto-merge (squash) October 6, 2026 22:23
@tianleiwu
Tianlei Wu (tianleiwu) merged commit 38dc99f into main Oct 6, 2026
@tianleiwu
Tianlei Wu (tianleiwu) deleted the dev/erscor/2026/10/6-cert-issue branch October 6, 2026 22:52
eserscor added a commit that referenced this pull request Oct 7, 2026
This pull request updates the build pipeline to improve Python package
installation and proxy handling, and ensures SSL certificate trust for
Python requests. The most important changes are:

**Build Pipeline Improvements:**

* The pipeline now installs both `requests` and `truststore` Python
packages to improve SSL certificate handling in Python scripts.
* Added steps to inspect and sanitize the `NO_PROXY` environment
variable, ensuring it does not contain invalid entries before running
the Python GitHub Action wrapper.

**Python Script Enhancements:**

* Updated `run_gh_action.py` to import and inject `truststore` into the
Python SSL context, ensuring trusted certificate handling for HTTP
requests.
adrastogi added a commit that referenced this pull request Oct 27, 2026
### Description
<!-- Describe your changes. -->
This cherry-picks the following commit for the release:

* #33142 (`38dc99fba3f5bd72e201d1d942235bf4f600a1b3`): work around the
Windows certificate regression in build-tools setup by installing and
injecting `truststore`, inspecting proxy settings, and sanitizing
`NO_PROXY` before invoking the GitHub Action wrapper.

The full two-file cherry-pick applied cleanly, with source commit
provenance preserved. This branch is based on current `rel-1.30.1`,
including #33524 and #33641.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
The internal release build failed in six Windows packaging jobs while
downloading the build-tools action through `run_gh_action.py`:

`CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate`

This upstream fix enables Python to use system-trusted certificates
without disabling certificate verification.

The previous Python-version fix (#33561, backported through #33641) is
present and package validation passed in both release runs.

This PR does not address the separate macOS checkout timeout or the
Maven feed connection timeout in the CUDA13 build. Those failures need
targeted infrastructure retries; no additional cherry-picks are
currently indicated.

Validation:

* The cherry-pick patch ID matches the original mainline commit.
* Python AST parsing and YAML parsing/assertions passed: `truststore`
installation/injection and the PowerShell wrapper invocation are
present.
* `git diff --cached --check` passed before committing.
* No end-to-end execution on the affected release agents was performed.
No release pipelines were restarted.

Co-authored-by: eserscor <erscor@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3eb3fc9b-6147-4706-b7ad-47bb3476377b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants