ci: remove runner venv dependency
This commit is contained in:
+16
-58
@@ -34,42 +34,14 @@ jobs:
|
||||
- name: Setup Python Environment
|
||||
run: |
|
||||
# 순수 Python 패키지만 설치 (numpy/pandas 제외 — ARMv7l 휠 없음)
|
||||
VENV_BASE=$HOME/python_venv
|
||||
REQ_HASH=$(md5sum tools/validate_specs.py 2>/dev/null | cut -d' ' -f1 || echo "default")
|
||||
VENV="$VENV_BASE/$REQ_HASH"
|
||||
|
||||
if [ ! -f "$VENV/bin/python" ]; then
|
||||
echo "=== venv 신규 생성: $REQ_HASH ==="
|
||||
mkdir -p "$VENV_BASE"
|
||||
/usr/bin/python3 --version
|
||||
/usr/bin/python3 -m venv "$VENV" || {
|
||||
echo "venv creation failed; attempting ensurepip recovery"
|
||||
/usr/bin/python3 -m ensurepip --upgrade
|
||||
/usr/bin/python3 -m venv "$VENV"
|
||||
}
|
||||
|
||||
# The runner may provide a venv without pip. Bootstrap with the
|
||||
# active interpreter instead of a version-specific get-pip URL.
|
||||
if [ ! -f "$VENV/bin/pip" ]; then
|
||||
echo "pip missing in venv, bootstrapping with ensurepip..."
|
||||
"$VENV/bin/python" -m ensurepip --upgrade
|
||||
fi
|
||||
|
||||
"$VENV/bin/pip" install --upgrade pip --quiet
|
||||
"$VENV/bin/pip" install requests pyyaml openpyxl --quiet
|
||||
|
||||
# 오래된 venv 정리 (최근 2개만 유지)
|
||||
ls -dt "$VENV_BASE"/*/ 2>/dev/null | tail -n +3 | xargs rm -rf 2>/dev/null || true
|
||||
else
|
||||
echo "=== venv 캐시 히트: $("$VENV/bin/python" --version 2>&1) ==="
|
||||
"$VENV/bin/python" - <<'PY'
|
||||
import importlib
|
||||
for mod in ("requests", "yaml", "openpyxl"):
|
||||
importlib.import_module(mod)
|
||||
print("venv dependency import check: PASS")
|
||||
PY
|
||||
fi
|
||||
echo "$VENV/bin" >> $GITHUB_PATH
|
||||
PYTHON_DEPS="$HOME/python_deps/$(md5sum tools/validate_specs.py | cut -d' ' -f1)"
|
||||
mkdir -p "$PYTHON_DEPS"
|
||||
/usr/bin/python3 --version
|
||||
/usr/bin/python3 -m pip --version
|
||||
/usr/bin/python3 -m pip install --disable-pip-version-check --quiet \
|
||||
--target "$PYTHON_DEPS" requests pyyaml openpyxl
|
||||
echo "PYTHONPATH=$PYTHON_DEPS:${PYTHONPATH:-}" >> "$GITHUB_ENV"
|
||||
/usr/bin/python3 -c 'import requests, yaml, openpyxl; print("Python dependencies: PASS")'
|
||||
|
||||
- name: Install Node Dependencies
|
||||
run: |
|
||||
@@ -236,28 +208,14 @@ jobs:
|
||||
|
||||
- name: Setup Python Environment
|
||||
run: |
|
||||
VENV_BASE=$HOME/python_venv
|
||||
REQ_HASH=$(md5sum tools/validate_snapshot_admin_web_v1.py 2>/dev/null | cut -d' ' -f1 || echo "default")
|
||||
VENV="$VENV_BASE/$REQ_HASH"
|
||||
|
||||
if [ ! -f "$VENV/bin/python" ]; then
|
||||
echo "=== venv 신규 생성: $REQ_HASH ==="
|
||||
mkdir -p "$VENV_BASE"
|
||||
/usr/bin/python3 -m venv "$VENV"
|
||||
|
||||
if [ ! -f "$VENV/bin/pip" ]; then
|
||||
echo "pip missing in venv, installing via get-pip.py..."
|
||||
curl -sS https://bootstrap.pypa.io/pip/3.8/get-pip.py -o get-pip.py
|
||||
"$VENV/bin/python" get-pip.py --quiet
|
||||
rm get-pip.py
|
||||
fi
|
||||
|
||||
"$VENV/bin/pip" install --upgrade pip --quiet
|
||||
"$VENV/bin/pip" install requests pyyaml openpyxl --quiet
|
||||
else
|
||||
echo "=== venv 캐시 히트: $("$VENV/bin/python" --version 2>&1) ==="
|
||||
fi
|
||||
echo "$VENV/bin" >> $GITHUB_PATH
|
||||
PYTHON_DEPS="$HOME/python_deps/$(md5sum tools/validate_snapshot_admin_web_v1.py | cut -d' ' -f1)"
|
||||
mkdir -p "$PYTHON_DEPS"
|
||||
/usr/bin/python3 --version
|
||||
/usr/bin/python3 -m pip --version
|
||||
/usr/bin/python3 -m pip install --disable-pip-version-check --quiet \
|
||||
--target "$PYTHON_DEPS" requests pyyaml openpyxl
|
||||
echo "PYTHONPATH=$PYTHON_DEPS:${PYTHONPATH:-}" >> "$GITHUB_ENV"
|
||||
/usr/bin/python3 -c 'import requests, yaml, openpyxl; print("Python dependencies: PASS")'
|
||||
|
||||
- name: Validate Snapshot Admin Web UI
|
||||
if: needs.validate-core.result == 'success'
|
||||
|
||||
Reference in New Issue
Block a user