Skip to content

fix(cmake): preserve nested pip-bootstrap diagnostics - #53

Merged
anthonyprintup merged 1 commit into
mainfrom
codex/fix-bootstrap-diagnostics
Oct 4, 2026
Merged

anthonyprintup merged 1 commit into
mainfrom
codex/fix-bootstrap-diagnostics

Conversation

@anthonyprintup

Copy link
Copy Markdown
Owner

When pip bootstrapping fails inside Python's venv CLI, the CLI can discard the child's captured output and leave CMake with only a generic subprocess error. A small wrapper now calls the same venv entry point and surfaces that diagnostic before the existing rollback and CMake error path.

  • Preserve interpreter selection, isolation, platform defaults, the 120-second timeout, and transaction behavior.
  • Redact URLs before truncation, remove control characters, and retain the beginning and end of diagnostics within 16,384 characters per stream. Do not print the child command or environment.
  • Package the helper for installed consumers, document the behavior, and add real-child failure regressions to the Windows Python 3.12-3.14 CI matrix.

Validation performed locally on Windows:

  • Python 3.12 and 3.14: successful environment creation, nested child failures, missing modules, redaction, truncation, and rollback handling.
  • Normal provisioning, nested consumer reuse, and provisioning from a relocated installation.
  • Managed-environment transaction and documentation tests: 44 passed, 1 skipped (including the helper tests).
  • Ruff lint/format checks, git diff --check, and the private-path guard passed.

Fixes #51.

Run venv through a small wrapper that catches bootstrap subprocess failures
before the standard CLI discards their captured output. Preserve the selected
interpreter, isolation, platform defaults, timeout, and existing rollback path.

Redact URLs before truncation, remove control characters, bound each captured
stream to 16,384 characters, and report the original child exit status without
printing the child command or environment.

Install the helper with the CMake package, document the diagnostic behavior,
and cover real nested child failures, missing modules, rollback refusal,
credential redaction, and successful environment creation. Extend the Windows
Python 3.12-3.14 CI matrix with the new regressions.

Validated focused tests on Windows with Python 3.12 and 3.14, normal and
relocated-install provisioning, transaction/documentation tests, Ruff, and
the private-path guard.

Fixes #51
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-04T13:36:49.985868Z 4b46bd3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@anthonyprintup
anthonyprintup merged commit a37bde7 into main Oct 4, 2026
23 checks passed
@anthonyprintup
anthonyprintup deleted the codex/fix-bootstrap-diagnostics branch October 4, 2026 13:50
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.

Preserve nested pip-bootstrap diagnostics when managed Python environment creation fails

1 participant