From e0a8228707c072401b6a14a0abc3d63a5f744540 Mon Sep 17 00:00:00 2001 From: voson Date: Thu, 30 Jul 2026 18:42:45 +0800 Subject: [PATCH] Fix web refresh Actions on PEP 668 system Python. Use a job-local venv so pip install no longer fails with externally-managed-environment on the Mac mini runner. Co-authored-by: Cursor --- .gitea/workflows/web-daily.yml | 8 ++++---- .gitea/workflows/web-patch.yml | 8 ++++---- .gitea/workflows/web-weekly.yml | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/web-daily.yml b/.gitea/workflows/web-daily.yml index 0aa4188..55d3d97 100644 --- a/.gitea/workflows/web-daily.yml +++ b/.gitea/workflows/web-daily.yml @@ -38,7 +38,9 @@ jobs: PYTHON=python3 command -v python3 >/dev/null || PYTHON=python command -v node >/dev/null || { echo "node/npx required for wrangler deploy"; exit 1; } - "$PYTHON" -m pip install -q -r web/requirements.txt + # Job-local venv: Homebrew/PEP 668 blocks system pip install. + "$PYTHON" -m venv .venv + .venv/bin/pip install -q -r web/requirements.txt - name: Refresh daily tier env: @@ -51,9 +53,7 @@ jobs: OSS_ACCESS_KEY_SECRET: ${{ secrets.OSS_ACCESS_KEY_SECRET }} run: | set -e - PYTHON=python3 - command -v python3 >/dev/null || PYTHON=python - "$PYTHON" web/refresh_web.py --tier daily + .venv/bin/python web/refresh_web.py --tier daily - name: Save refresh summary if: always() diff --git a/.gitea/workflows/web-patch.yml b/.gitea/workflows/web-patch.yml index a6f8033..a534872 100644 --- a/.gitea/workflows/web-patch.yml +++ b/.gitea/workflows/web-patch.yml @@ -37,7 +37,9 @@ jobs: PYTHON=python3 command -v python3 >/dev/null || PYTHON=python command -v node >/dev/null || { echo "node/npx required for wrangler deploy"; exit 1; } - "$PYTHON" -m pip install -q -r web/requirements.txt + # Job-local venv: Homebrew/PEP 668 blocks system pip install. + "$PYTHON" -m venv .venv + .venv/bin/pip install -q -r web/requirements.txt - name: Refresh patch tier env: @@ -49,9 +51,7 @@ jobs: OSS_ACCESS_KEY_SECRET: ${{ secrets.OSS_ACCESS_KEY_SECRET }} run: | set -e - PYTHON=python3 - command -v python3 >/dev/null || PYTHON=python - "$PYTHON" web/refresh_web.py --tier patch + .venv/bin/python web/refresh_web.py --tier patch - name: Save refresh summary if: always() diff --git a/.gitea/workflows/web-weekly.yml b/.gitea/workflows/web-weekly.yml index 5b95830..cf0ac52 100644 --- a/.gitea/workflows/web-weekly.yml +++ b/.gitea/workflows/web-weekly.yml @@ -36,7 +36,9 @@ jobs: PYTHON=python3 command -v python3 >/dev/null || PYTHON=python command -v node >/dev/null || { echo "node/npx required for wrangler deploy"; exit 1; } - "$PYTHON" -m pip install -q -r web/requirements.txt + # Job-local venv: Homebrew/PEP 668 blocks system pip install. + "$PYTHON" -m venv .venv + .venv/bin/pip install -q -r web/requirements.txt - name: Refresh weekly tier env: @@ -49,9 +51,7 @@ jobs: OSS_ACCESS_KEY_SECRET: ${{ secrets.OSS_ACCESS_KEY_SECRET }} run: | set -e - PYTHON=python3 - command -v python3 >/dev/null || PYTHON=python - "$PYTHON" web/refresh_web.py --tier weekly + .venv/bin/python web/refresh_web.py --tier weekly - name: Save refresh summary if: always()