Address code review: add path validation, clarify version range and config key format

Co-authored-by: larohra <41490930+larohra@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-26 16:54:22 +00:00
Unverified
parent aa93e61e48
commit 29fd8e690d
2 changed files with 10 additions and 2 deletions
@@ -56,8 +56,12 @@ runs:
echo "Python 3.12 not found on system, installing via uv..."
uv python install 3.12
FUNC_WORKER_PYTHON="$(uv python find 3.12)"
echo "FUNC_WORKER_PYTHON=${FUNC_WORKER_PYTHON}" >> "$GITHUB_ENV"
echo "Installed Python 3.12 at ${FUNC_WORKER_PYTHON}"
if [ -n "${FUNC_WORKER_PYTHON}" ] && [ -f "${FUNC_WORKER_PYTHON}" ]; then
echo "FUNC_WORKER_PYTHON=${FUNC_WORKER_PYTHON}" >> "$GITHUB_ENV"
echo "Installed Python 3.12 at ${FUNC_WORKER_PYTHON}"
else
echo "::warning::Could not resolve Python 3.12 path after install"
fi
else
echo "System Python 3.12 found: $(which python3.12)"
fi
@@ -370,6 +370,7 @@ def _find_func_worker_python() -> str | None:
return explicit
# Try versioned system executables (python3.12, python3.11, python3.10).
# Azure Functions v4 supports Python 3.103.12.
for minor in range(12, 9, -1):
path = shutil.which(f"python3.{minor}")
if path:
@@ -394,6 +395,9 @@ def _start_function_app(sample_path: Path, port: int) -> subprocess.Popen[Any]:
# a compatible Python when one is available.
worker_python = _find_func_worker_python()
if worker_python:
# Azure Functions uses double-underscore separators for nested config
# keys passed as environment variables (host.json equivalent:
# languageWorkers.python.defaultExecutablePath).
env["languageWorkers__python__defaultExecutablePath"] = worker_python
# On Windows, use CREATE_NEW_PROCESS_GROUP to allow proper termination