Repository navigation
PYTHON-6051 Convert drivers-evergreen-tools to a git submodule and pin the GitHub Actions reference - #3095
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The advertised drivers-evergreen-tools submodule pointer remains on v1.1.0.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Updates CI tooling to drivers-evergreen-tools v1.2.0 and improves local Python setup recovery.
Changes:
- Pins GitHub Actions references to v1.2.0.
- Removes broken virtual environments and adds interpreter fallback handling.
| File | Description |
|---|---|
.github/workflows/test-python.yml |
Updates MongoDB setup action pins. |
.github/workflows/test-mod-wsgi.yml |
Pins the mod_wsgi setup action. |
.evergreen/scripts/setup-uv-python.sh |
Adds virtualenv cleanup and Python fallback logic. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
ECS failure is unrelated, it is failing on main. |
| echo "uv could not install Python \"$request\"; looking for another interpreter..." | ||
| # Ignore UV_PYTHON_SEARCH_PATH/UV_PYTHON_PREFERENCE: they would steer the | ||
| # fallback right back to the broken interpreter. Local setup only. | ||
| if [ "${CI:-}" != "true" ] && \ |
There was a problem hiding this comment.
Do we care to check for Evergreen here (where this won't ever be true)?
There was a problem hiding this comment.
It still could be true for a new version of python, like 3.16alpha
| # Ignore UV_PYTHON_SEARCH_PATH/UV_PYTHON_PREFERENCE: they would steer the | ||
| # fallback right back to the broken interpreter. Local setup only. | ||
| if [ "${CI:-}" != "true" ] && \ | ||
| _fallback=$(env -u UV_PYTHON_SEARCH_PATH -u UV_PYTHON_PREFERENCE \ |
There was a problem hiding this comment.
Should we unset UV_PYTHON too?
|
|
||
| # A .venv whose interpreter was removed breaks every `uv python find` and | ||
| # `uv sync`. It is a build artifact, so remove it and let `uv sync` recreate it. | ||
| for _py in "$ROOT/.venv/bin/python3" "$ROOT/.venv/bin/python" "$ROOT/.venv/Scripts/python.exe"; do |
There was a problem hiding this comment.
Any interest in supporting Windows? 😄
E.g.
# A .venv whose base interpreter is gone breaks every `uv python find` and
# `uv sync`. It is a build artifact, so remove it and let `uv sync` recreate it.
_venv_py=""
for _py in "$ROOT/.venv/bin/python" "$ROOT/.venv/Scripts/python.exe"; do
if [ -x "$_py" ]; then
_venv_py="$_py"
break
fi
done
if [ -n "$_venv_py" ] && ! "$_venv_py" -c 'import sys' > /dev/null 2>&1; then
echo "Removing broken .venv (its interpreter will not start); uv sync will recreate it."
rm -rf "$ROOT/.venv"
fi
unset _py _venv_py
|
|
||
| HERE=$(dirname ${BASH_SOURCE:-$0}) | ||
| HERE="$( cd -- "$HERE" > /dev/null 2>&1 && pwd )" | ||
| ROOT=$(dirname "$(dirname $HERE)") |
There was a problem hiding this comment.
Missing quotes on HERE: ROOT=$(dirname "$(dirname "$HERE")") (for paths with spaces)

PYTHON-6051
Follow up to #3075
Changes in this PR
drivers-evergreen-toolssubmodule and all GitHub Actions pins to v1.2.0 (includes a fix for latest-server signature validation on unsupported hosts like Amazon Linux).Test Plan
Checklist
Checklist for Author
Checklist for Reviewer