[codex] Add bootstrap host preflight checks#166
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces preflight validation checks during the bootstrap process. It ensures that the selected Python version is at least 3.9 and verifies macOS host tool installation support. On macOS versions older than 14.0, automatic installation of host tools (such as smbclient and sshpass) is disabled, requiring manual installation instead. Comprehensive unit tests have been added to cover these new validation scenarios. There are no review comments, and I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b8d013ed6
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| command_context.update_fields(host_platform_label=platform_label) | ||
| print(f"Detected host platform: {platform_label}", flush=True) | ||
| command_context.set_stage("check_python") | ||
| selected_python_version = validate_selected_python(args.python) |
There was a problem hiding this comment.
Validate the venv interpreter when reusing it
When .venv already exists, ensure_venv() ignores args.python and returns .venv/bin/python, so this preflight can check the wrong executable on reruns. In that case a stale venv created with Python 3.8 can pass because the selected/system Python is 3.11, or a valid existing venv can be blocked because the selected/system Python is older; either way the interpreter used for the subsequent pip/install steps is not what was validated. Validate the returned venv_python when reusing the venv, or only validate args.python before creating a new one.
Useful? React with 👍 / 👎.
Summary
Validation